ImportError: cannot import name chardet
ImportError: cannot import name chardet
你好,我写了一个 python scraper,我在其中导入请求和 Beautiful soup 模块。我正在使用 python2.7 。
我正在使用 py2exe 模块从我的 Python 脚本中创建 Windows 可执行文件 (.exe)。
为此,我创建了 setup.py 如下:
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”创建了 .exe 文件。
但是 运行 window 上的 .exe 文件抛出以下错误:
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
感谢您调查我的问题。
从回溯中可以看出-
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
您有一个带有 __init__.py
的 requests
目录。这是从库中屏蔽了 requests
包,因此当您尝试从 requests
库中导入 chardet
或任何类似的东西时,它会尝试在这个本地包中搜索它,而不是图书馆一号。
最好的解决方案是将目录和本地包从 requests
重命名为其他名称,这样名称就不会与任何库包冲突。
你好,我写了一个 python scraper,我在其中导入请求和 Beautiful soup 模块。我正在使用 python2.7 。 我正在使用 py2exe 模块从我的 Python 脚本中创建 Windows 可执行文件 (.exe)。 为此,我创建了 setup.py 如下:
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”创建了 .exe 文件。 但是 运行 window 上的 .exe 文件抛出以下错误:
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
感谢您调查我的问题。
从回溯中可以看出-
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
您有一个带有 __init__.py
的 requests
目录。这是从库中屏蔽了 requests
包,因此当您尝试从 requests
库中导入 chardet
或任何类似的东西时,它会尝试在这个本地包中搜索它,而不是图书馆一号。
最好的解决方案是将目录和本地包从 requests
重命名为其他名称,这样名称就不会与任何库包冲突。