#python-3.x #macos #pyinstaller
#python-3.x #macos #pyinstaller
Вопрос:
Я надеюсь превратить мой скрипт python3 в распространяемое приложение, но у меня возникли проблемы с превращением скрипта в исполняемый файл.
Я пытался использовать
pyinstaller myscript.py
и
pyinstaller --onefile myscript.py
однако оба раза, когда я пробовал файл .exe после его создания, он выдавал эту ошибку или очень похожую ошибку:
[4129] Ошибка загрузки библиотеки Python ‘/var/folders/c9/r16n40jd14d9x5f__gb0p3t80000gp/T/_MEIyzoWbA/Python’: dlopen: dlopen(/var/folders/c9/r16n40jd14d9x5f__gb0p3t80000gp/T/_MEIyzoWbA/ Python, 10): подходящее изображение не найдено. Обнаружено: /var/folders/c9/r16n40jd14d9x5f__gb0p3t80000gp /T/_MEIyzoWbA /Python: подпись кода недействительна для ‘/var/folders/c9 / r16n40jd14d9x5f__gb0p3t80000gp /T /_MEIyzoWbA /Python’
Скрипт, который я пытаюсь запустить, не содержит никаких изображений, но он использует selenium webdriver, я очень новичок в python, поэтому я не знаю, будет ли какая-либо из этих вещей проблемой. Я также пытался удалить python3.8 и установить python3.7.9, но это тоже не сработало.
Комментарии:
1. Вы можете запустить скрипт без проблем? Если читается так, как будто библиотеки там нет.
2. @jmh Да, скрипт выполняется отлично, когда я запускаю его с терминала вручную. Я не знаю, был ли я полностью ясен в вопросе, но проблема возникает при запуске exe-файла, который создается с помощью команды pyinstaller.
3. Проблема в том, что код не подписан. Смотрите learn.microsoft.com/en-us/previous-versions/windows /…
4. @incarnadine Итак, мне нужно подать заявку на сертификат публикации программного обеспечения только для подписи и запуска exe-файла на моем собственном компьютере? Конечная цель — иметь возможность распространять его, и для этого мне явно понадобится сертификат, но программа даже не работает на моем собственном устройстве, когда я запускаю ее как исполняемый файл. (Конечно, это работает как скрипт, запускаемый с терминала.) Это определенно проблема?
5. Я никогда не работал с pyinstaller на Mac, но в ошибке четко указано
code signature invalid
. Попробуйте провести немного больше исследований, поскольку по этой теме уже есть ответы stack overflow.