Pyinstaller не создает функциональный исполняемый файл с pdfrw - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь создать исполняемый файл, используя pyinstaller, но он падает сразу после запуска этого исполняемого файла. Следует отметить, что программа прекрасно работает внутри PyCharm. Я сузил его до одной строки кода, которая приводит к ошибке при использовании другого python файла - если файл содержит '' 'import pdfrw' '', он сразу обработает sh после запуска исполняемого файла, созданного pyinstaller.

Я пробовал следующие команды из командной строки, работающие в режиме администратора, все из которых дают тот же результат (это после изменения каталога, в котором находится файл .py):

pyinstaller "compiling test.py"

pyinstaller --onefile "compiling test.py"

pyinstaller --onedir "compiling test.py"

Используя предложение try / исключением вокруг оператора импорта, я вижу ошибку перед закрытием исполняемого файла появляется сообщение:

Невозможно загрузить собственный модуль 'Crypto.Cipher._raw_ecb': пробует '_raw_ecb.cp36-win_amd64.pyd': не может загрузить библиотеку 'C : \ Users \ KYLE ~ 1.AFF \ AppData \ Local \ Temp_MEI534042 \ Crypto \ Util .. \ Cipher_raw_ecb.cp36-win_amd64.pyd ': ошибка 0x7e. Кроме того, ctypes.util.find_library () не удалось найти библиотеку с именем 'C: \ Users \ KYLE ~ 1.AFF \ AppData \ Local \ Temp \ _MEI534042 \ Crypto \ Util \ .. \ Cipher \ _raw_ecb. cp36-win_amd64.pyd ', пытается' _raw_ecb.pyd ': не может загрузить библиотеку' C: \ Users \ KYLE ~ 1.AFF \ AppData \ Local \ Temp_MEI534042 \ Crypto \ Util .. \ Cipher_raw_ecb.pyd ': ошибка 0x7e , Кроме того, ctypes.util.find_library () не удалось найти библиотеку с именем 'C: \ Users \ KYLE ~ 1.AFF \ AppData \ Local \ Temp \ _MEI534042 \ Crypto \ Util \ .. \ Cipher \ _raw_ecb. pyd '

Есть ли способ, которым я могу изменить файл spe c для правильного создания файла (или другого решения)? Я нашел нечто подобное, когда мне нужно было создать исполняемый файл с python -docx (и мне, скорее всего, нужно будет сделать это и для этой программы, так как исходная программа python, которую я пытаюсь сделать исполняемым, использует python -docx, а также pdfrw): PyInstaller и python -docx модуль не работают вместе

Заранее спасибо за помощь.

1 Ответ

1 голос
/ 31 марта 2020

Так что я только что нашел решение для этого! Он предупредил меня, когда шел по пути пользователя с именем \ KYLE ~ 1.AFF \, потому что этот пользователь не должен существовать, хотя каким-то образом его создали. После удаления этого пользовательского файла я обновил pyinstaller через pip install --upgrade pyinstaller, и он удалил версию 3.3.1 и установил версию 3.6, и теперь он работает нормально. Так что, возможно, это была новая версия, но я предполагаю, что это была более вероятная установка fre sh после того, как я удалил пользовательский каталог, которого не должно было быть. Не уверен, почему это только ошибка с той одной библиотекой все же.

...