Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ImportError:无法导入名称chardet_Python_Py2exe - Fatal编程技术网

Python ImportError:无法导入名称chardet

Python ImportError:无法导入名称chardet,python,py2exe,Python,Py2exe,您好,我已经编写了一个pythonscraper,其中我正在导入请求和漂亮的soup模块。我正在使用python2.7。 我正在使用py2exe模块从Python脚本中装入Windows可执行文件(.exe)。 为此,我创建了setup.py,如下所示: from distutils.core import setup import py2exe import requests packages = [ 'requests', 'requests.packages',

您好,我已经编写了一个pythonscraper,其中我正在导入请求和漂亮的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文件。 但在Windows上运行.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
回溯(最近一次呼叫最后一次):
文件“CompanyScraper-1.6.py”,第13行,在
文件“requests\\ uuuu init\ uuuu.pyc”,第58行,在
文件“requests\utils.pyc”,第26行,在
文件“requests\compat.pyc”,第7行,在
ImportError:无法导入名称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
回溯(最近一次呼叫最后一次):
文件“CompanyScraper-1.6.py”,第13行,在
文件“requests\\ uuuu init\ uuuu.pyc”,第58行,在
文件“requests\utils.pyc”,第26行,在
文件“requests\compat.pyc”,第7行,在
ImportError:无法导入名称chardet
您有一个带有
\uuu init\uuuu.py
请求
目录。这会屏蔽库中的
请求
包,因此当您尝试从
请求
库中导入
chardet
或任何类似内容时,它会尝试在此本地包中搜索,而不是在库中搜索


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

感谢Anand的指导,它现在正在工作,我没有重命名LocalRequests包,而是将丢失的chardet文件夹复制到LocalRequests库中,它工作正常。。。。谢谢:-)