PyInstaller ModuleNotFound - PullRequest
       17

PyInstaller ModuleNotFound

2 голосов
/ 21 апреля 2020

Я боролся с PyInstaller и не уверен, как исправить ModuleNotFound (особенно pandas). Моя программа .py - это простой скрипт с одним файлом, который импортирует только (Anaconda-) собственные пакеты (например, tkinter, pandas, os), и он работает в IDE. Я знаю, что PyInstaller импортирует только пакеты верхнего уровня, поэтому я пока перечислю свои подходы:

  1. Запустите в виртуальной среде env, чтобы понизить Python 3.8 до 3.7.5. Я слышал, что у людей были проблемы с PyInstaller с Python 3.8. Также обновлена ​​последняя версия PyInstaller. Также попробовал без env.
  2. Сборка из onedir вместо одного файла pyinstaller --onedir myscript.py
  3. Измените hiddenimports в файле spe c на hiddenimports = ['pandas._libs.tslibs.timedeltas', etc.], а также hiddenimports = ['pandas']
  4. Положите import pandas вверху в .py
  5. Следуйте этому: Как добавить папку Python site-package (которая не входит в комплект) в файл PyInstaller spe c? , но исправить мой путь к файлу C:\\Users\\username\\Anaconda\\lib, так как это было в интерпретаторе Anaconda. Затем он поднял AttributeError: module 'importlib._bootstrap_external' has no attribute '_w_long', и я попытался исправить это безрезультатно

Ничего из этого не сработало. Есть ли лучший способ go о сборке исполняемого файла в Python или есть исправление для этого?

1 Ответ

1 голос
/ 21 апреля 2020

Я наконец исправил это, переустановив pandas и numpy. Я не думал об этом, потому что я переустанавливал pandas во время процесса несколько раз. В любом случае, если у кого-то возникла такая же проблема и ему нужно последнее средство:

pip uninstall pandas -y pip uninstall numpy -y pip install pandas pip install numpy

Редактировать: После этого я понимаю, что способ установки / подключения Anaconda был грязным, поэтому я переустановил Anaconda и с pyinstaller было намного проще работать. Чтобы использовать pyinstaller с Anaconda вместо значения по умолчанию python после переустановки Anaconda, conda install -c conda-forge pyinstaller

...