首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:无法导入名称chardet

ImportError:无法导入名称chardet
EN

Stack Overflow用户
提问于 2015-07-13 15:46:27
回答 1查看 6.7K关注 0票数 2

嗨,我已经写了一个python 刮刀,在其中我正在导入请求和美丽汤模块。我用的是python2.7。我正在使用py2exe模块从我的Python中解析py2exe可执行文件(Py2exe)。为此,我创建了如下setup.py:

代码语言:javascript
复制
from distutils.core import setup
import py2exe
import requests

packages = [
    'requests',
    'requests.packages',
    'requests.packages.chardet',
    'requests.packages.urllib3',
    'requests.packages.urllib3.packages',
    'requests.packages.urllib3.contrib',
    'requests.packages.urllib3.util',
    'requests.packages.urllib3.packages.ssl_match_hostname',
]

setup(
    console=['CompanyScraper-1.6.py']
    )

我通过运行命令"python setup.py py2exe“创建了setup.py文件。但是,当在窗口上运行.exe文件时,它会抛出以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "CompanyScraper-1.6.py", line 13, in <module>
  File "requests\__init__.pyc", line 58, in <module>
  File "requests\utils.pyc", line 26, in <module>
  File "requests\compat.pyc", line 7, in <module>
ImportError: cannot import name chardet

我无法理解为什么这个chardet导入错误,尽管我已经在setup.py中包含了包

谢谢你调查我的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-13 15:57:53

你可以从回溯中看到-

代码语言:javascript
复制
Traceback (most recent call last):
  File "CompanyScraper-1.6.py", line 13, in <module>
  File "requests\__init__.pyc", line 58, in <module>
  File "requests\utils.pyc", line 26, in <module>
  File "requests\compat.pyc", line 7, in <module>
ImportError: cannot import name chardet

您有一个requests目录和一个__init__.py。这掩盖了库中的requests包,所以当您尝试从requests库导入chardet或任何类似的东西时,它会尝试在这个本地包中搜索它,而不是在库包中搜索它。

最好的解决方案是将目录和本地包从requests重命名为其他程序包,这样名称就不会与任何库包冲突。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31387799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档