Pythonをネイティブにコンパイルすることは可能ですか(pycバイトコード以外)?
-
03-07-2019 - |
質問
Pythonスクリプトから実行可能モジュールを作成することは可能かと思います。 Python環境で実行する必要なく、Pythonスクリプトの最高のパフォーマンスと柔軟性が必要です。このコードを使用して、オンデマンドユーザーモジュールを読み込んでアプリケーションをカスタマイズします。
解決
- Pythonをソースのようにコンパイルする pyrex がありますPython拡張モジュール
- rpython を使用すると、Cなどのさまざまなバックエンドに制限を加えてPythonをコンパイルできます。 LLVM、.Netなど
- PythonをC ++に変換する shed-skin もありますが、それが良いかどうかは言えません。
- PyPy は、ランタイムを最適化しようとするJITコンパイラを実装します。 PyPyインタープリターのために実行可能なパスを作成する場合、実行時に実行されているものの一部をマシンコードに変換します。
- PyPyでJITに取り組んでいる同じ著者は、以前にCPythonインタープリターでpythonを最適化する psyco を書きました。 。
他のヒント
py2exeのようなものを使用して、pythonスクリプトをexeにコンパイルするか、Linuxバイナリ用にFreezeを使用できます。
Cython を使用して多くの成功を収めました。 >
Cythonは、 Python用のC拡張機能の作成 Python自体と同じくらい簡単な言語。 Cythonはよく知られたものに基づいています Pyrex、しかしより多くの最先端をサポート 機能と最適化。
Cython言語は非常に近い Python言語ですが、Cython Cの呼び出しを追加サポート 関数およびC型の宣言 変数とクラス属性。この コンパイラーが非常に Cythonコードからの効率的なCコード。
これにより、Cythonは理想的な言語になります 外部Cライブラリのラッピング用 高速化する高速Cモジュール用 Pythonコードの実行。
jythonを使用してPythonをJavaバイトコードにコンパイルし、GCJでコンパイルできると思います。
所属していません StackOverflow