Я пытаюсь создать приложение, написанное на python, которое может работать на Windows без необходимости установки python или связанных с ним библиотек (автономно), и я хочу сделать это на мой мак. Я попробовал Pyinstaller, но он, похоже, сгенерировал исполняемые файлы только на платформе, которая создает приложение (в данном случае osx). Есть ли простой выход, такой как Pyinstaller, или мне нужно сделать это очень сложным образом? Поскольку я не эксперт, последний вариант может быть для меня невозможным. Было бы более разумным просто попытаться создать приложение на Windows, чем Mac, используя pyinstaller?Создание исполняемого приложения для windows .exe на mac
ответ
Для pyinstaller
, they have clearly mentioned что упаковки исполняемых файлов Windows, в то время как под управлением OS X является не поддерживается, и рекомендуется использовать Wine
для этого.
1. Могу ли я упаковать двоичные файлы Windows во время работы под Linux?
Нет, это не поддерживается. Пожалуйста, используйте Wine для этого, PyInstaller работает отлично в Вине. Вы также можете посмотреть эту тему в списке рассылки . В версии 1.4 мы создали некоторую поддержку для этого, но показало, что он работает только наполовину. Это потребует некоторой системы Windows на другого раздела и будет работать только для чистых программ Python. Как скоро, как вы хотите достойный графический интерфейс (gtk, qt, wx), вам нужно будет установить библиотеки Windows. Так что гораздо проще просто использовать Wine.
2. Могу ли я упаковать двоичные файлы Windows во время работы под OS X?
Нет, это не поддерживается. Попробуйте Wine для этого.
3. Могу ли я упаковать исполняемые файлы OS X во время работы под Linux?
В настоящее время это невозможно. Сожалею! Если вы хотите помочь, вы очень желанны.
Посмотрите на [cx_freeze] (https://anthony-tuininga.github.io/cx_Freeze/) – user2896976
спасибо за предложение, но документация says..Freezing для других платформ cx_Freeze работает на Windows, Mac и Linux, но на каждой платформе он только делает исполняемый файл, который работает на этой платформе. Поэтому, если вы хотите заморозить свою программу для Windows, заморозите ее в Windows; если вы хотите запустить его на компьютерах Mac, заморозите его на Mac. – Hoon
Как насчет того, чтобы использовать что-то вроде виртуального бокса для создания виртуальных машин, чтобы вы могли загрузить ОС и скомпилировать свой код? – user2896976