私はpythonの学習を開始し、Ubuntuの新しいユーザーでもあります。.py
ファイルをコンパイルする方法を知る必要があります。私はコマンドで試しました
python "hello.py"
Pythonをコンパイルする他の方法は何ですか?
私はpythonの学習を開始し、Ubuntuの新しいユーザーでもあります。.py
ファイルをコンパイルする方法を知る必要があります。私はコマンドで試しました
python "hello.py"
Pythonをコンパイルする他の方法は何ですか?
回答:
また、ファイルをコンパイルして実行する必要がないことにも注意してください.py
。Pythonはインタープリター言語であり、次のいずれかを使用してスクリプトを直接実行できます。
python hello.py
または、スクリプト#!/usr/bin/env python
の先頭に追加してスクリプトを実行可能にし、ファイルを実行可能にしてchmod +x hello.py
から実行します:
./hello.py
Python がパフォーマンス上の理由で.py
スクリプトをバイトコード.pyc
ファイルに内部的にコンパイルするという事実は実装の詳細であり、そうする強い理由がない限り、コンパイルするタイミングとタイミングをPython自身に決定させます。
chmod +x
)、インタープリターはどのようにスクリプトを読み取りますか?
#!/path/to/interpreter
場合、カーネルは実際にそこで宣言されているものを実行し、スクリプトパスを引数として渡します。私の例では、実行./hello.py
すると実際に実行されるのは/usr/bin/env python ./hello.py
です。参照en.wikipedia.org/wiki/Shebang_(Unix)
chmod +x
付与は実行され、既存の権限に影響を与えないため、おそらく実行可能に加えて読み取り可能です。
このリンクをチェックしてくださいPythonでコンパイル
ページの中央で、インポート可能なpy_compileモジュールについて説明しています。構文は次のとおりです。
import py_compile
py_compile.compile("file.py")
このコンパイル方法では、python file.pyを実行する場合のようにモジュールは実行されません。
ディレクトリツリー全体をコンパイルするメソッドもありますが、リンクがどのように実行されるかを確認してみましょう。
お役に立てれば。
また試すことができますcompileall
:
python -m compileall ./
さまざまな方法を使用してPythonスクリプトをバイナリコードにコンパイルできますが、Nuitkaを使用する方が効率的であることがわかりました。
Nuitkaは、PythonのほとんどすべてのバージョンをサポートするPython-to-C ++コンパイラです。
コマンド構文は次のように簡単です
nuitka hello.py
後藤http://nuitka.net/doc/user-manual.html詳細については。
-O
などのフラグを追加することもできますpython -O -m py_compile …
。主にassert
ステートメントとif __debug__
コードを削除するため、ほとんどのコードでは効果がありません。詳細についてはman python
、「Pythonの最適化とは...」を参照してください。