Отсутствует DLL при попытке запустить зависшую Python программу на Windows - PullRequest
0 голосов
/ 25 марта 2020

Я только что закончил Python приложение с пользовательским интерфейсом, в котором используется модель ML, созданная с использованием Sci-Kit Learn, и я хочу распространить ее для использования другими людьми, не устанавливая Python и все библиотеки на своем компьютере. В поисках вариантов сборки исполняемого файла я наткнулся на PyInstaller. PyInstaller отлично работает на моей машине с простыми программами, но с этой, после выполнения pyinstaller mainInterface.py и попытки запустить файл .exe (находится в / dist / mainInterface / folder), я получил следующую ошибку:

    C:\Users\rodri\PycharmProjects\antropometria\dist\mainInterface>mainInterface.exe
Traceback (most recent call last):
  File "mainInterface.py", line 15, in <module>
  File "c:\users\rodri\anaconda3\envs\antropometria\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 489, in exec_module
    exec(bytecode, module._dict_)
  File "distances\mainDistances.py", line 6, in <module>
  File "c:\users\rodri\anaconda3\envs\antropometria\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 489, in exec_module
    exec(bytecode, module._dict_)
  File "distances\calculateDistancesPx.py", line 1, in <module>
  File "c:\users\rodri\anaconda3\envs\antropometria\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 489, in exec_module
    exec(bytecode, module._dict_)
  File "site-packages\scipy\spatial\_init_.py", line 107, in <module>
  File "c:\users\rodri\anaconda3\envs\antropometria\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 489, in exec_module
    exec(bytecode, module._dict_)
  File "site-packages\scipy\spatial\distance.py", line 125, in <module>
  File "c:\users\rodri\anaconda3\envs\antropometria\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 489, in exec_module
    exec(bytecode, module._dict_)
  File "site-packages\scipy\special\_init_.py", line 634, in <module>
ImportError: DLL load failed: Não foi possível encontrar o módulo especificado.
[10520] Failed to execute script mainInterface

Очевидно, что ошибка, которую я получил, так или иначе связана со scipy, но я понятия не имею, как с этим справиться, и понятия, что отсутствует в DLL. Ниже приведены библиотеки, которые я использую

altgraph==0.17
dlib==19.18.0
fpdf==1.7.2
imutils==0.5.3
joblib==0.14.1
numpy==1.17.2
opencv-python==4.2.0.32
pandas==0.25.1
Pillow==7.0.0
python-dateutil==2.8.1
pytz==2019.3
scikit-learn==0.21.3
scipy==1.4.1
six==1.14.0

Дополнительная информация:

  1. Чтобы скопировать это приложение, вы можете сделать простой скрипт, используя приведенные выше библиотеки;

  2. Когда я выполняю исполняемый файл ВНУТРИ виртуальной среды, он прекрасно работает (не знаю, как и почему это происходит);

  3. Все пакеты были установлены с использованием conda и пункт;

...