Pyinstaller не может загрузить собственный модуль 'Crypto.Cipher .__ raw_ecb' - PullRequest
0 голосов
/ 07 мая 2018

При попытке запустить мою программу я получаю эту ошибку из командной строки:

Traceback (most recent call last):
  File "cp file.py", line 16, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\users\tom\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\pdfminer\pdfpage.py", line 11, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\users\tom\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\pdfminer\pdfdocument.py", line 12, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\users\tom\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\Crypto\Cipher\__init__.py", line 3, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\users\tom\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\Crypto\Cipher\_mode_ecb.py", line 46, in <module>
  File "site-packages\Crypto\Util\_raw_api.py", line 258, in load_pycryptodome_raw_lib
OSError: Cannot load native module 'Crypto.Cipher._raw_ecb': Trying '_raw_ecb.cp36-win32.pyd': Failed to load dynlib/dll 'C:\\Users\\Tom\\Desktop\\MOT new certificates 05 05 18\\dist\\MOT Saver\\Crypto\\Util\\..\\Cipher\\_raw_ecb.cp36-win32.pyd'. Most probably this dynlib/dll was not found when the application was frozen., Trying '_raw_ecb.pyd': Failed to load dynlib/dll 'C:\\Users\\Tom\\Desktop\\MOT new certificates 05 05 18\\dist\\MOT Saver\\Crypto\\Util\\..\\Cipher\\_raw_ecb.pyd'. Most probably this dynlib/dll was not found when the application was frozen.
[7516] Failed to execute script cp file

похоже, проблема с криптомодулем, так как в прошлом у других были проблемы с этим. Мне удалось заставить его работать, скопировав папку Crypto в папку dist, где сохранен onedir, но это не похоже на правильное решение, и если я хочу сделать его одним файлом, я не уверен, как это будет работать.

любая помощь будет высоко ценится.

Заранее спасибо!

...