Python 运行exe后出现队列导入错误
我使用py2exe创建了exe,之后我遇到了下面的错误 我签入了lib目录,该目录中已经存在Queue.py 请帮我解决这个问题 我正在使用Python2.7Python 运行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
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工作正常。但你们知道为什么图书馆里缺少“队列”吗?这需要一个更长的答案