ほとんどのマニアは Python をインタープリタ型言語だと考えていますが、Python にはコンパイル プロセスもあります。
コンパイルされた部分は、コードが実行されて削除されると完成します。コンパイルされたコンテンツはバイトコードに変換されます。マシンおよびオペレーティング システムごとに Python 仮想マシンをさらに拡張します。
この記事では、Python プログラマー向けの 11 の最高の Python コンパイラーおよびインタープリターを紹介します。
1、イギリス人
Brython は、Python を JavaScript コードに変換する人気の Python コンパイラーです。モバイル Web ブラウザを含むすべての Web ブラウザのサポートを提供します。
最新の Html5/CSS3 仕様もサポートしており、BootStrap3 や LESS などの一般的な CSS フレームワークを使用できます。
URL:https://brython.info
2、Pyjs
Pyjs は、リッチなインターネット アプリケーション フレームワークであり、Web ブラウザから直接 Python スクリプトを実行したり、ブラウザの JS コンソールからプログラムを実行したりできる軽量の Python コンパイラです。
これは、Web ブラウザ上でコードを実行できるようにする Python から JavaScript へのコンパイラーです。Ajax フレームワークとウィジェット セット API が付属しています。
Webサイト:http://pyjs.org
3、WinPython
Windows オペレーティング システム用に設計されています。いくつかの CPython 機能があります。Numpy、Pandas、Scipy など、データ サイエンスと機械学習用のいくつかの人気のあるライブラリがプリインストールされています。
C/C++ コンパイラが付属していますが、ほとんどの場合は使用されません。それ以外には、Python コンパイラーのみが含まれており、他のパッケージはありません。
URL:https://winpython.github.io
4、彫刻
Skulpt は、HTML コードに追加できる Python のブラウザ実装です。
この Python コンパイラーは Javascript で書かれており、追加のプラグイン、処理、サーバーのサポートを必要とせずに、クライアント側でコードを実行します。
Skulpt インタープリターは、インポートを通じて Web サイト上の .py ファイルに保存されているコードを実行します。
Webサイト:https://skulpt.org
5、pyscript
PyScript は、ユーザーが HTML インターフェイスを使用してブラウザーでリッチな Python アプリケーションを作成できるようにするフレームワークです。
PyScript は Web ブラウザ以外の開発環境を必要としませんが、Chrome ブラウザの使用を推奨します。VSCode を使用している場合は、HTML ファイルの編集時に Live Server 拡張機能を使用してページをリロードできます。
Webサイト:https://pyscript.net/
6、脱皮
このコンパイラは、Python 標準ライブラリ モジュールを C++ にコンパイルし、静的に型指定された Python プログラムを、高度に制限された最適化された C++ コードに変換します。
組み込みの Python データ型を独自のクラスのセットとして再実装することでパフォーマンスを向上させることができます (C++ で効率的に実装できます)。
Webサイト:https://en.wikipedia.org/wiki/Shed_Skin
7、アクティブPython
これは Windows、Linux、Mac OS 用の Python ディストリビューションであり、無料のコミュニティ バージョンがあります。
Python のような AIX でサポートされていないプラットフォームを含む、多くのプラットフォームでのインストールをサポートしています。Python よりも互換性が高くなります。
Webサイト:https://www.activestate.com/products/activepython
8、トランスクリプト
これは、Python コードをシンプルで読みやすい Java コードにコンパイルする一般的なコンパイラーです。これは、行列およびベクトル演算のスライスをサポートする軽量の Python コンパイラです。
Transcrypt は Node.js でも実行されます。階層モジュール、多重継承、ローカル クラスにより、多くの機能が追加されます。
Webサイト:https://www.activestate.com/products/activepython
9、スマート
これは、Python ソース コードを C/C++ 実行可能コードに変換するソースツーソース Python コンパイラーです。多くの Python ライブラリと拡張モジュールを使用します。
データ サイエンスや機械学習プロジェクトの作成に使用できる Anaconda が付属しています。
Webサイト:https://www.activestate.com/products/activepython
10、 ジトン
これは Java で書かれており、JVM を実行する任意のプラットフォームで実行できます。Jython は Python コードを Java バイトコードにコンパイルし、クロスプラットフォームにします。
これを使用して、サーブレット、Swing、SWT、および AWT パッケージのソリューションを作成できます。Jython は CPython と同様に Global Interpreter Lock (GIL) を使用します。
さらに、Java クラスを Python コードに拡張できます。
URL:https://www.jython.org
11、CPython
CPython はデフォルトで最も広く使用されている Python コンパイラです。これは C で書かれており、GIL (Global Interpreter Lock) を使用しているため、同時 CPython プロセス間の通信が困難になります。
CPython のコンパイル手順には、デコード、トークン化、解析、抽象構文ツリー、コンパイルが含まれます。
Webサイト:https://compilers.pydata.org
12、アイアンパイソン
このバージョンの Python コンパイラは、Microsoft の .Net フレームワークと Mono 上に実装されています。
また、動的コンパイルと対話型コンソールも提供します。インストールが非常に簡単で、クロスプラットフォーム互換性があります。
また、標準ライブラリとさまざまなモジュールもあり、主に .Net Framework のユーザー インターフェイス ライブラリを実装するために使用されます。
URL:https://ironpython.net
13、コドン
Codon は、実行時のオーバーヘッドなしで Python コードをネイティブ マシン コードにコンパイルする高性能 Python コンパイラーです。単一スレッドでは、Python の一般的な高速化は約 10 ~ 100 倍以上です。Codon のパフォーマンスは、一般に C/C++ のパフォーマンスと同等です。
Codon は GitHub でオープンソース化されています。https://github.com/exaloop/codon
14、ピピ
PyPyの高速化の秘密は「ジャストインタイムコンパイル」、つまりJITコンパイルにあります。事前コンパイル C、C++、Swift、Haskell、Rust などのプログラミング言語は、通常、事前にコンパイルされます (AOT コンパイル)。これは、コードがこれらの言語で記述された後、コンパイラーがソース コードを特定のコンピューター アーキテクチャで読み取り可能なマシン コードに変換することを意味します。つまり、プログラムが実行されるとき、実行されるのは元のソース コードではなく、マシン コードです。
URL:https://www.pypy.org/
15、サイソン
Cython は、Python スクリプトが C 言語拡張機能をサポートできるようにするコンパイラです。Cython は、Python+C が混在してコーディングされた .pyx スクリプトを C コードに変換できます。主に、Python スクリプトのパフォーマンスを最適化するか、Python が C 関数ライブラリを呼び出すために使用されます。
URL:https://cython.org/
16、サイコ
Psyco モジュールを使用すると、Python プログラムを C と同じ速度で実行できます。Psyco は、プログラム コードに対してリアルタイムで専門的なアルゴリズムの最適化を実行できる Python 言語の拡張モジュールです。これにより、特にプログラム内に多数のループ操作がある場合に、プログラムの実行速度をある程度向上させることができます。 。最初に Armin Rigo によって開発され、その後 Christian Tismer によって維持され、改良が続けられました。
URL:http://psyco.sourceforge.net/
17、jmpy3
jmpy3 は Python 用のサードパーティ ライブラリです。ワンクリックで Python コードを .so または .pyd ファイルに暗号化できます。単一ファイルの暗号化とプロジェクト全体の暗号化をサポートしています。暗号化後、dist フォルダーがプロジェクトに追加されますディレクトリとソースファイルを暗号化されたファイルに置き換えると、正常に実行されます。
欠点がある
- 互換性は若干劣るため、オペレーティング システムのバージョンが異なる場合は再コンパイルする必要があります。
- 暗号化されたファイルを実行するときに使用される Python のバージョンは、ファイルを暗号化するときに使用される Python のバージョンと同じである必要があります。
- 公式ドキュメントはないため、暗号化されたコードを使用してエラーが発生した場合は、自分でトラブルシューティングを行ってエラーを解決する必要があります。
18、太一
Taichi は MIT のコンピューター サイエンスおよび人工知能研究所 (CSAIL) でスタートしました。この研究所は元々、コンピューター グラフィックスの研究者の日常業務を容易にし、GPU に適したビジュアル コンピューティングおよび物理シミュレーション アルゴリズムを迅速に実装できるように設計されました。Taichi は革新的な道を選択しました。それは、Python に埋め込み、ジャストインタイム コンパイル (JIT) アーキテクチャ (LLVM、SPIR-V など) を使用して、Python ソース コードを GPU または CPU のネイティブ命令に変換し、両方の優れたパフォーマンスを提供します。開発中および実行時のパフォーマンス。
公式ウェブサイト:https://taichi-lang.cn/