Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 运行exe后出现队列导入错误_Python_Python 2.7 - Fatal编程技术网

Python 运行exe后出现队列导入错误

Python 运行exe后出现队列导入错误,python,python-2.7,Python,Python 2.7,我使用py2exe创建了exe,之后我遇到了下面的错误 我签入了lib目录,该目录中已经存在Queue.py 请帮我解决这个问题 我正在使用Python2.7 Traceback (most recent call last): File "Game2048.py", line 12, in <module> File "pynput\__init__.pyc", line 23, in <module> File "pynput\keyboard\__ini

我使用py2exe创建了exe,之后我遇到了下面的错误 我签入了lib目录,该目录中已经存在Queue.py 请帮我解决这个问题 我正在使用Python2.7

Traceback (most recent call last):
  File "Game2048.py", line 12, in <module>
  File "pynput\__init__.pyc", line 23, in <module>
  File "pynput\keyboard\__init__.pyc", line 44, in <module>
  File "pynput\keyboard\_win32.pyc", line 32, in <module>
  File "pynput\_util\__init__.pyc", line 34, in <module>
  File "six.pyc", line 203, in load_module
  File "six.pyc", line 115, in _resolve
  File "six.pyc", line 82, in _import_module
ImportError: No module named Queue
回溯(最近一次呼叫最后一次):
文件“Game2048.py”,第12行,在
文件“pynput\\ uuuuu init\ uuuuu.pyc”,第23行,在
文件“pynput\keyboard\\uuuuu init\uuuuuu.pyc”,第44行,在
文件“pynput\keyboard\\ u win32.pyc”,第32行,在
文件“pynput\\ u util\\ uuu init\ uuu.pyc”,第34行,在
加载模块中的文件“six.pyc”,第203行
文件“six.pyc”,第115行,在
导入模块中第82行的文件“six.pyc”
ImportError:没有名为Queue的模块

py2exe通过检查setup.py中明确提到的模块中的
import
语句,决定在最终ZIP文件或可执行文件中包含哪些模块。然后,它将这些导入的模块添加到可执行文件的依赖项中,并检查这些新添加的模块中的所有导入语句以查找更多必要的模块,依此类推,直到在导入中找不到更多的新模块

在这里,模块
队列
是以动态方式导入的,基本上是通过调用py2exe无法自动识别的
\uuuuuuu import\uuuuuu(“队列”)
之类的东西。因此,该模块不被视为必要的

要解决此问题,请在已添加到可执行文件的模块中添加人工依赖项:

if False:
    import Queue

代码无效,但py2exe会看到
import
语句,并将遵循该语句。

py2exe创建的“library.zip”文件中是否有“Queue.pyc”或“Queue.pyo”?如有必要,修改setup.py,以便py2exe创建它,而不是将所有内容捆绑到exe文件中。在“library.zip”中添加“Queue.pyc”后,我的exe工作正常。但你们知道为什么图书馆里缺少“队列”吗?这需要一个更长的答案