Зависит ли python от распространяемого Microsoft Visual C ++? - PullRequest
0 голосов
/ 22 сентября 2019
  1. Требуется ли для Python распространять Microsoft Visual C ++ для запуска кода?

Я использую pyinstaller для компиляции моего кода .py в exe.В некоторых системах мой exe просит запустить распространяемый пакет Microsoft Visual C ++.

Включает ли pyinstaller распространяемые файлы Microsoft Visual C ++ при создании exe?Если нет, то как я могу включить эти файлы, чтобы мне не нужно было устанавливать распространяемый пакет Microsoft Visual C ++ в систему других пользователей для запуска моего программного обеспечения?

Какие есть другие альтернативы для сборкиавтономное программное обеспечение в Python?Я читаю, чтобы использовать другие языки вместе с python.

Я видел, что electronic js и python можно использовать вместе для создания настольного приложения.Но как я буду распространять это приложение как отдельный exe-файл?

1 Ответ

0 голосов
/ 22 сентября 2019

Сам Python не зависит от наличия MSVC.Вы можете скачать портативный пакет Python, и он будет работать везде, где вы его копируете.Это embeddable из https://www.python.org/downloads/windows/

Но модули Python с внутренним кодом расширения могут зависеть от MSVC на нескольких уровнях:

  • , если нативная часть поставляется в двоичном видеформат (.pyd файл в Windows), на самом деле это .dll, и он может зависеть от других .dll -s, в зависимости от того, как он был построен
  • , если нативная часть поставляется как CИсходный код / ​​C ++, он будет собран во время установки, как правило, через «setup.py», и для этой процедуры понадобится установленный в системе компилятор C

PyInstallerэто другая история.Прежде всего, у него есть документация, которую вы можете прочитать.Например, страница Что делает PyInstaller и как она делает четко дает прямой ответ хотя бы на один из ваших вопросов:

Объединение в один файл

PyInstaller может объединить ваш сценарий и все его зависимости в один исполняемый файл с именем myscript (myscript.exe в Windows).

Существует также список пакетов с известной совместимостью и известнымипроблемы совместимости: https://github.com/pyinstaller/pyinstaller/wiki/Supported-Packages,, которые могут оказаться полезными в зависимости от того, какие пакеты вам нужны.

Хотя это не дубликат, этот вопрос: Как упаковать связанную DLL и файл pydв один автономный файл pyd? (и другой, на который он ссылается), может быть интересно прочитать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...