Pyinstaller ModuleNotFound 错误:'urllib3.packages.six.moves'

问题描述 投票:0回答:1

我正在尝试使用 pyinstaller 打包脚本以作为 Windows 服务运行。当尝试运行它时,我收到

ModuleNotFoundError: No module named 'urllib3.packages.six.moves'
错误。我正在使用命令

pyinstaller.exe --onefile --runtime-tmpdir=. --hidden-import win32timezone --hidden-import urllib3 laps_service.py

在虚拟环境中。您会看到我将其添加为

--hidden-import
但这没有任何区别。

经过一番谷歌搜索后,我发现卸载并重新安装 urllib3 和 requests 可能会有所帮助,所以我这样做了 - 我明确安装了

requests==2.24.0
,因为
servicemanager
需要 2.24.0;安装后,pip 自动卸载了
urllib3-2.1.0
并安装了兼容版本
urllib3-1.25.11
,但我仍然遇到同样的错误。

根据记忆,这个脚本在以前的 venv 中作为 pyinstaller exe 工作得非常好(在我不再拥有的笔记本电脑上),所以我不认为代码有任何问题,而是可能与某些包的版本有关。我已经运行了

pip check
但没有发现任何损坏的依赖关系。

完整的回溯如下,如果有帮助,我可以提供导入包的列表:

PS C:\LAPS> .\laps_service.exe --startup delayed install
Traceback (most recent call last):
  File "laps_service.py", line 29, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "requests\__init__.py", line 43, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "urllib3\__init__.py", line 7, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "urllib3\connectionpool.py", line 11, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "urllib3\exceptions.py", line 2, in <module>
ModuleNotFoundError: No module named 'urllib3.packages.six.moves'
[14276] Failed to execute script 'laps_service' due to unhandled exception!
python windows-services pyinstaller
1个回答
0
投票

尝试安装软件包六

pip install six

https://github.com/benjaminp/6

© www.soinside.com 2019 - 2024. All rights reserved.