Py2exe runtime: ошибка импорта, файл существует, - PullRequest
0 голосов
/ 25 октября 2019

Я сейчас пытаюсь упаковать свое приложение в exe. Для этого я использую этот setup.py:

from distutils.core import setup
import os
import py2exe
import shutil

options = {
    "py2exe": {
        # "bundle_files": 1,
        # "optimize": 2,
        "includes": ["[CENSORED]", "[CENSORED]", "PyQt5"]
    }
}

a_origin_path = "[CENSORED]/[CENSORED]"
a_target_path = os.getcwd() + "/[CENSORED]"

b_origin_path = "[CENSORED]/[CENSORED]"
b_target_path = os.getcwd() + "/[CENSORED]"

print(f"About to copy [CENSORED]from: {a_origin_path} to: {a_target_path}")

shutil.copytree(a_origin_path, a_target_path, ignore=shutil.ignore_patterns(".git", ".gitignore", ".idea"))

print(f"About to copy [CENSORED]from: {a_origin_path} to: {a_target_path}")

shutil.copytree(a_origin_path, a_target_path, ignore=shutil.ignore_patterns("__pycache__"))

print("Copied. About to build installer")

setup(console=['[CENSORED]_Launcher.py'], options=options)

print("Installer created. About to delete")

shutil.rmtree(a_target_path)
shutil.rmtree(b_target_path)

print("deleted. Process done.")

Приложение работает нормально, и все данные выводятся, как и ожидалось. Если я знаю, попробуйте запустить только что созданный exe-файл, я получу следующий вывод:

[CENSORED]\dist>[CENSORED]_Launcher.exe
Traceback (most recent call last):
  File "[CENSORED]_Launcher.py", line 4, in <module>
  File "[CENSORED]\GUI\__init__.pyc", line 1, in <module>
  File "[CENSORED]\GUI\Resources_rc.pyc", line 9, in <module>
  File "<loader>", line 10, in <module>
  File "<loader>", line 8, in __load
ImportError: (DLL load failed: The specified module could not be found.) '[CENSORED]\\dist\\PyQt5.QtCore.pyd'

Если я зайду в папку с файлом, файл будет там и только что создан.

У меня нетИдея, как устранить эту ошибку. Я обнаружил множество ошибок, вызванных PYQt5.12.3 + при поиске DLL, поэтому я опустился до PyQT5.12.2, который избегает всех этих ошибок.

Большое спасибо Kevin

...