Як я можу розповсюдити нативний виконуваний файл для програми Python?


11

Останнім часом вся моя робота була в Python (і Ruby), і я закоханий у ці дві мови. Існує багато бібліотек для розробки ігор на Python, але проблема, яку я бачу, полягає в тому, що багато з цих фреймворків не охоплюють аспект «розподілу» створення ігор. Я хотів би зашифрувати свою гру на Python (та будь-які інші чисті додаткові бібліотеки Python, які мені знадобляться) та мати змогу розповсюджувати виконуваний файл на основних платформах ПК (Windows, Mac та Linux).

Якісь варіанти там чи які найкращі комбінації для цього? (можливо, pyglet + cx_freeze)

Відповіді:


13

Деякі параметри для Python:

  • Багатоплатформа (Win / Linux / Mac): PyInstaller
  • Мультиплатформа (Win / Linux / Max): cx-freeze
  • Windows: py2exe
  • Mac: py2app

    Погана новина полягає в тому, що, наскільки я можу сказати, ви не можете створювати бінарні файли для платформи з іншої платформи. Причиною, здається, є залежності від конкретних бібліотек платформи.

    Редагувати : До речі, вам може бути цікаво переглянути цю порівняльну таблицю . Хлопець теж використовував піглет.


4

py2exe + NSIS працює досить добре, хоча може знадобитися деякий вуду, щоб з'ясувати правильний конфігурацію py2exe зазвичай (але це потрібно зробити лише один раз). Ви також можете переглянути генерацію сценаріїв на основі вхідних точок setuptools та API pkg_resources для роботи з файлами даних.


Я використовую цю систему і вважаю, що вона є дуже корисною, якщо трохи крутіше на кривій навчання.
Пейдж Уотсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.