这是我的第一篇 StackOverflow 帖子!
我在创建具有 pyzmq (v22.0.2) 依赖项的 pyinstaller(v4.2) 可执行文件时遇到问题。我通过运行“pyinstaller main.py”创建了一个可执行文件。 dist 文件夹创建时没有错误,但是当我在终端中运行可执行文件时,我在下面的引号中看到错误。
我在 StackOverflow 和 pyinstaller 的文档上搜索了此类问题,但与我的确切问题不匹配。我看到提到了一个 .spec 文件来解决似乎类似的问题,但我不确定这是否是可行的方法,因为我不清楚 pyzmq.libs\.load_order 是什么。
有谁知道如何克服这个错误或者对我可以尝试什么有好的线索?
"C:\Users\[redacted path]\dist\main>main.exe
Traceback (most recent call last):
File "main.py", line 1, in <module>
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 531, in exec_module
File "zmq\__init__.py", line 19, in <module>
File "zmq\__init__.py", line 13, in _delvewheel_init_patch_0_0_9
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\[redacted path]\\dist\\main\\pyzmq.libs\\.load_order'
[4408] Failed to execute script main
C:\Users\[redacted path]\dist\main>"
我遇到了同样的问题并找到了解决方案 使用
pip install pyzmq==21.0.0
降级到 21.0.0
然后你可以再次运行 pyinstaller,它将运行得很好。
在您的
<local-python-path>\Lib\site-packages
中找到一个名为“pyzmq.libs”的文件夹。
例如,我在这里使用 Miniconda3,所以我在
C:\\Users\MyPC\Miniconda3\envs\my_env\Lib\site-packages
得到了这个
然后,将此文件夹复制到您的
C:\\Users\\[redacted path]\\dist\\main
文件夹,然后重试可执行文件。
通过将以下文件夹复制到子文件夹“_internal”中的子文件夹,我能够让 pyzmq 使用 pyinstaller 的单文件夹选项。我正在使用 pyinstaller 6.2.0、python 3.11 和 pyzmq 25.1.1:
将 C:\Users
将 C:\Users
这些是我遇到的运行时错误: FileNotFoundError: [WinError 2] 系统找不到指定的文件: '..._internal\pyzmq.libs' ModuleNotFoundError:没有名为“zmq.backend.cython”的模块