【问题标题】:Pyinstaller lib was not found; OSError: [WinError 126]; library dependencies找不到 Pyinstaller 库;操作系统错误:[WinError 126];库依赖
【发布时间】:2021-07-23 20:26:34
【问题描述】:

我真的很想得到帮助。 我用 PysimpleGUI 做了一个图形界面。在这个脚本中,我运行一个程序,从语音识别库和 spaCy 管道中,名称实体被捕获,然后作为脚本其余部分的输入传递(基本上,从 pandas 数据框中获取数据,做一些数学运算并更新数据集)。 我使用 PyCharm 作为 IDE 并且可以工作。 spaCy 管道重新训练以捕获我所做的其他标签。新模型保存在脚本的同一个项目文件夹中,并在需要时加载(基本上,有一个窗口可以按下按钮并说话;检测到语音,然后单击另一个按钮将文本传递到提取标签)。

当我尝试使用 PySimpleGUI-exemaker 和 Pyinstaller 创建此文件的 .exe 时,我遇到了一些错误。当使用带有“onefolder”选项的 PyInstaller 时,我启动创建的 .exe 文件(进入 dist 文件夹)我看到:

C:\Users\Simone>C:\Python_Project\Combat_Workshop\Vocal_Workshop\dist\vocal_menu\vocal_menu.exe
Traceback (most recent call last):
  File "vocal_menu.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "voice_recognition.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "estrazione_input.py", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "spacy\__init__.py", line 11, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "thinc\api.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "thinc\initializers.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "thinc\backends\__init__.py", line 7, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "thinc\backends\ops.py", line 10, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "thinc\util.py", line 27, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "torch\__init__.py", line 135, in <module>
OSError: [WinError 126] Impossibile trovare il modulo specificato. Error loading "C:\Python_Project\Combat_Workshop\Vocal_Workshop\dist\vocal_menu\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
[4568] Failed to execute script 'vocal_menu' due to unhandled exception!

我真的不明白这里发生了什么:

OSError: [WinError 126] Impossibile trovare il modulo specificato. Error loading "C:\Python_Project\Combat_Workshop\Vocal_Workshop\dist\vocal_menu\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
[4568] Failed to execute script 'vocal_menu' due to unhandled exception!

第一行翻译为:OSError: [WinError 126] Impossible to find the module

然后,如果我尝试创建为“onefile”,则在从控制台运行 PyInstaller 期间会出现这些警告:

102276 INFO: Looking for dynamic libraries
103138 WARNING: lib not found: torch_python.dll dependency of c:\users\simone\anaconda3\envs\deep_learning2\lib\site-packages\torch\_C.cp38-win_amd64.pyd
103300 WARNING: lib not found: torch_cpu.dll dependency of c:\users\simone\anaconda3\envs\deep_learning2\lib\site-packages\torchvision\_C.pyd
103304 WARNING: lib not found: torch_cuda.dll dependency of c:\users\simone\anaconda3\envs\deep_learning2\lib\site-packages\torchvision\_C.pyd
103310 WARNING: lib not found: c10.dll dependency of c:\users\simone\anaconda3\envs\deep_learning2\lib\site-packages\torchvision\_C.pyd
103313 WARNING: lib not found: c10_cuda.dll dependency of c:\users\simone\anaconda3\envs\deep_learning2\lib\site-packages\torchvision\_C.pyd
103684 WARNING: lib not found: torch_cpu.dll dependency of c:\users\simone\anaconda3\envs\deep_learning2\lib\site-packages\torchaudio\_torchaudio.pyd
103689 WARNING: lib not found: c10.dll dependency of c:\users\simone\anaconda3\envs\deep_learning2\lib\site-packages\torchaudio\_torchaudio.pyd

当我启动 .exe 文件(从 dist 文件夹)时,我收到了这个警告:

[388] WARNING: file already exists but should not: C:\Users\Simone\AppData\Local\Temp\_MEI3882\torch\_C.cp38-win_amd64.pyd

现在,在项目文件夹中,我放置了从 spaCy 管道保存的模型。创建的“dist”文件夹大小为 1GB。我把运行脚本所需的任何 .py 文件放在那里。 当我用另一个脚本(没有任何神经网络)做同样的事情时,一切都像魅力一样,所以我认为问题是一些火炬或 cuda 库。 我已经安装了 pytorch(通过 conda)和 CUDA 10,并且在 PyCharm 上一切正常。拥有最新版本的 PyCharm 和 Anaconda。

现在,我试图从过去 3 个小时中寻找答案,但此时我放弃了。 我真的不知道该怎么办。有什么帮助吗?

编辑:几个小时后我明白了一件事:找不到火炬库,是因为在同一 conda 环境中的 spacy 和 pytorch 在 PyInstaller 编译时会产生警告。我正在创建 2 个 conda 环境,一个用于 spaCy,一个用于 Pytorch

【问题讨论】:

    标签: python pyinstaller spacy pysimplegui


    【解决方案1】:

    大约 10 小时后我解决了。 Pytorch 和 spaCy 在同一个 conda 环境中产生了一些问题。 我解决了它,创建了第二个环境,其中存在 pytorch 而没有 spacy。

    另一个问题是由语音识别库引起的。似乎尝试对exe进行onefile会使它崩溃。 最后,我没有命令窗口的一个文件夹,一切正常(即使你,应用程序是 1 GB 大)

    【讨论】:

      猜你喜欢
      • 2020-06-12
      • 1970-01-01
      • 2013-10-21
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      • 2020-08-19
      相关资源
      最近更新 更多