Я знаю, как скомпилировать CPython файл в exe с помощью cx_freeze, но можно ли скомпилировать простую программу с использованием PyPy для Exe?
Компиляция PyPy в Exe
Ответ 1
Нет готового способа или учебника о том, как сделать создание EXE из программы с помощью интерпретатора PyPy, насколько я знаю. И это не совсем тривиально, чтобы все исправить, я боюсь.
В принципе, есть два способа рассмотреть возможность использования PyPy-переводов для получения EXE файла с использованием интерпретатора PyPy или написания собственной программы RPython (интерпретатор PyPy сам по себе является программой RPython, то есть с использованием ограниченного подмножества Python).
Если вы используете ограниченное подмножество RPython и никаких зависимостей, вы можете посмотреть на использование перевода script в pypy/translator/goal, где вы также найдете много целевых *.py файлов. Возьмите его и измените его для своих целей. Сначала вы можете играть с переводом функций python, начиная отсюда:
http://doc.pypy.org/en/latest/getting-started-dev.html#trying-out-the-translator
Если вы программируете приложение и зависит от внешних пакетов, сначала попробуйте убедиться, что ваша программа работает на pypy вообще - не все внешние библиотеки поддерживаются. Затем вы можете изучить модификацию targetpypystandalone script для загрузки ваших модулей приложений. Если есть сомнения, попробуйте получить некоторую помощь в списке рассылки pypy-dev или канале #pypy на irc.freenode.net.
Ответ 2
Это решение py2exe, которое может сработать для вас: compile.py
#!/usr/bin/env python
# Corey Goldberg
from distutils.core import setup
import py2exe
import sys
if len(sys.argv) == 2:
entry_point = sys.argv[1]
sys.argv.pop()
sys.argv.append('py2exe')
sys.argv.append('-q')
else:
print 'usage: compile.py <python_script>\n'
raw_input('press ENTER to exit...')
sys.exit(1)
opts = {
'py2exe': {
'compressed': 1,
'optimize': 2,
'bundle_files': 1
}
}
setup(console=[entry_point], options=opts, zipfile=None)