cx_freeze を使用して CPython ファイルを exe にコンパイルする方法は知っていますが、PyPy を使用して簡単なプログラムを Exe にコンパイルすることは可能ですか?
2 に答える
私の知る限り、PyPyインタープリターを使用してプログラムからEXEを作成する方法についての既成の方法やチュートリアルはありません。そして、物事を進めることは必ずしも簡単ではありません、私は恐れています。
原則として、PyPyの翻訳を使用してEXEファイルを取得するには、PyPyインタープリターを使用するか、独自のRPythonプログラムを作成する2つの方法があります(PyPyインタープリター自体はRPythonプログラムです。つまり、Pythonの制限付きサブセットを使用します)。
プログラムがRPythonの制限されたサブセットを使用し、依存関係がない場合は、pypy / translator/goalでtranslateスクリプトを使用することを検討できます。ここには多くのtarget*.pyファイルもあります。1つを取り、目的に合わせて変更します。まず、ここからPython関数の翻訳を試してみることをお勧めします。
http://doc.pypy.org/en/latest/getting-started-dev.html#trying-out-the-translator
プログラムがアプリケーションであり、外部パッケージに依存している場合は、最初に、プログラムがpypyで動作することを確認する必要があります。すべての外部ライブラリがサポートされているわけではありません。次に、targetpypystandaloneスクリプトを変更して、アプリケーションモジュールをロードすることを検討します。疑わしい場合は、pypy-devメーリングリストまたはirc.freenode.netの#pypyチャネルでヘルプを入手してみてください。
これはあなたのために働くかもしれない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)