Портативный Python (Mac -> Windows) - PullRequest
       21

Портативный Python (Mac -> Windows)

1 голос
/ 03 ноября 2010

У меня сейчас прекрасный Macbook, и я наслаждаюсь кодированием на ходу. Я также наслаждаюсь кодированием в Python. Однако я хотел бы передать конечный результат друзьям, использующим Windows, в качестве исполняемого файла.

Я знаю, что Py2Exe делает это, но я не знаю, насколько переносим Python в разных операционных системах. Кто-нибудь может дать совет? Я тоже использую PyGame.

Большое спасибо

Ответы [ 4 ]

3 голосов
/ 03 ноября 2010

Скрипты Python достаточно переносимы, если установлен интерпретатор и соответствующие библиотеки.Сгенерированные файлы .exe и .app не являются.

2 голосов
/ 03 ноября 2010

Py2exe генерирует исполняемые файлы Windows, поэтому они будут работать только на платформе Windows. FAQ в http://www.py2exe.org/index.cgi/FAQ содержит больше информации о том, как все это работает. По сути, он обеспечивает то, что необходимо для работы на Win9x, а также на более современных платформах. ПРИМЕЧАНИЕ: в FAQ упоминаются некоторые потенциальные ошибки с кодировкой символов и обходными путями.

С питоном это достаточно распространено в системах на основе Unix, так как несколько дистрибутивов Linux имеют свои собственные сценарии обслуживания, написанные на языке. Таким образом, сценарии Python будут такими же переносимыми, как сценарии Ruby и т. Д. Пока целевой компьютер имеет интерпретатор и вы не используете внешние программы, работающие только на одном типе платформы, другие смогут использовать вашу работу.

0 голосов
/ 11 ноября 2010

Лично я испытывал огромные трудности со всеми строителями Exe, py2exe, cx_freeze и т. Д. Все время появляются ошибки и ошибки, постоянно отображается проблема с модулем atexit.

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

Каждый раз, когда вы создаете EXE-файл для приложения Python, вам необходимо включить ядро ​​установки Python, но только с теми модулями, которые использует ваше приложение. Но даже в этом случае ваше приложение может увеличиться с нескольких килобайт, чем модуль python, до более чем 15 мегабайт из-за включения установки python.

Конечно, установка всего Python займет больше места, но каждый раз, когда вы отправляете свои приложения Python, они будут иметь длину всего несколько килобайт. Кроме того, вы хотите, чтобы каждый раз, когда вы меняете кому-либо в своем приложении на python, нужно было объединять exe-файлы. Или я думаю, что да, я не знаю, поможет ли вам просто избежать замены модуля py.

В любом случае установка python и pygame так же проста, как и установка любого другого приложения в windows. В linux через synaptic тоже очень легко.

MACOS немного сложнее, хотя. MACOS уже поставляется с предварительно установленным Python, Snow Leopard имеет установленный Python 2.6.1. Однако, если ваше приложение использует python позже этого и включает установку python вместе с вашим приложением, вам нужно будет указать пользователю установить через «GET INFO -> open with» приложение запуска python, которое отвечает за запуск приложений python. использовать вашу версию python, а не встроенную версию 2.6.1 по умолчанию, это не сложно, и это займет всего несколько секунд, даже неопытный пользователь может сделать это.

Python является чрезвычайно портативным, приложения Python Pygame не могут работать без изменений только на трех основных платформах: Windows, MACOS и Linux. Они могут работать даже на мобильных и переносных устройствах. Если вам нужно создать приложение, работающее на разных платформах, python очень прост и настоятельно рекомендуется.

0 голосов
/ 03 ноября 2010

Если вы планируете включить Linux в критерии переносимости, стоит помнить, что во многих дистрибутивах все еще находится пакет 2.6 (или даже 2.5), и, вероятно, он будет версией в серии 3.x (я полагаю,вы используете 2.x с учетом требований PyGame).

Версии PyGame также сильно различаются между дистрибутивами.

...