Как я могу запустить Python.exe на другом компьютере, на котором не установлен Python? - PullRequest
1 голос
/ 17 мая 2019

У меня есть файл Python.exe, который я создал с помощью Pyinstaller.Он работает нормально, когда я выполняю его на своем собственном ПК, но если я перенесу его на другой ПК в сети, он выдаст всплывающее сообщение об ошибке «Обнаружена фатальная ошибка, не удалось выполнить сценарий __».

Мне нужно запустить этот Python exe на любом компьютере в сети, даже если на нем не установлен Python.

Я использовал приведенный ниже код, и он упаковывает все в один единственный файл .exe в папке dist.

pyinstaller -F -w script.py

Мне нужно запустить Python.exe на любом компьютере в сетидаже если у них не установлен Python.Возможно ли это?

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Обратите внимание, что pyinstaller предназначен для конкретной ОС, в которой он был создан (это особенно зависит от реализации на C, приложение, созданное PyInstaller, скажем, ubuntu с glibc будет несовместимо с alpine работает musl). Более того, он сам по себе не является исполняемым файлом, в него встроен интерпретатор Python.

Вы можете найти больше информации в документах pyinstaller .

Самый простой обходной путь, который я нашел, - это использование Docker и создание приложения с помощью многоступенчатой ​​сборки .

Если это не вариант, возможно, вам придется использовать Cython или другой подход.

0 голосов
/ 20 мая 2019

Мне удалось найти решение этой проблемы.

Я перезапустил pyinstaller без -w и увидел сообщение об ошибке в cmd "InterfaceError: ('IM002', '[IM002] [Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию. "

В моем скрипте использовался pyodbc, и я исследовал и увидел, как изменить драйвер на "Driver={SQL Server};". У меня изначально он былкак "Driver={SQL Server Native Client 11.0};", поэтому, как только я изменил это на SQL Server, исполняемые файлы нормально работали на других машинах.

...