导入错误:无法导入名称 chardet

2023-12-11

嗨,我写了一个Pythonscraper我在其中导入 requests 和 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 文件。 但是在窗口上运行 .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

尽管我已将包包含到 setup.py 中,但我无法理解为什么会出现此 chardet 导入错误

感谢您研究我的问题。


正如您从回溯中看到的那样 -

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从库中打包,因此当您尝试导入时chardet或任何类似的事情requestslibrary ,它会尝试在此本地包中搜索它,而不是库包中。

最好的解决方案是将目录和本地包重命名为requests更改为其他名称,以便该名称不会与任何库包冲突。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导入错误:无法导入名称 chardet 的相关文章

随机推荐