我有一个完全运行的 Python 程序,它使用以下导入:
import json
import requests
from natsort import natsorted
但是,当我尝试使用 PyInstaller 将其编译为可执行文件时,出现以下错误:
注意:可能并不完美,因为它是由我的反应时间和屏幕截图捕获的:
File "site-packages\requests\packages\urllib3\packages\six.py", line 82, in _import_module
ImportError: No module named 'queue'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "huepy3.py", line 2, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\__init__.py", line 63, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\utils.py", line 24, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\_internal_utils.py", line 11, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\compat.py", line 11, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\packages\__init__.py", line 29, in <module>
ImportError: No module named 'urllib3'
Failed to execute script huepy3
我阅读了错误,并尝试在我的代码中导入 urllib3 。这也返回了相同的错误。我认为这取决于 urllib3 与请求相关的位置,但我该如何解决这个问题?我在线阅读有关 FileDialog 的信息,它再次返回相同的错误。
对此的任何指示将不胜感激。
编辑:这不仅仅是队列导入问题,更多的是如何更改库请求尝试导入的路径以及 pyinstaller 如何在第一个实例中获取这些路径。
编辑 2:好的,也许我应该问 PyInstaller 如何编译它找到的依赖项以及将它们存储在哪里?然后我就可以自己尝试一下。
编辑 3:通过几个小时的网络爬行,我相信我可能正在寻找隐藏的导入。这些是如何获取 urllib3 的?