6

私の理解が正しければ、Python コンパイル ファイルはクロス プラットフォームです。では、ビルドとインストールを必要とするほとんどのライブラリがリリースされるのはなぜでしょうか?

ディストリビューター側の怠惰ですか、それとも単に pyc ファイルを配布できると言っているのは間違っていますか? そうでない場合、ユーザーがライブラリをビルドしてインストールする必要なく、前提条件としてライブラリを含む Python スクリプト ファイルを配布するにはどうすればよいですか?

4

3 に答える 3

4

それらはクロスプラットフォームですが、クロスバージョンではなく、クロス実装でもありません。つまり、CPython のバージョンが異なると、同じ .pyc ファイルで問題が発生する可能性があります。

また、PyPy、IronPython、Jython などの他の実装を見ると、.pyc ファイルではうまくいきません。

また、.pyc ファイルは 1 つの .py ファイルに対応します。あなたが (おそらく) 念頭に置いているのは、C で書かれた部分を含むライブラリです。動作させるには、プラットフォームに依存するファイル (.pyd、.dll、.so など) にコンパイルする必要があります。サポートされているすべてのプラットフォームを利用できる開発者は多くないため、ソースとして提供し、ユーザーのシステムにコンパイルを任せています。

于 2013-04-17T12:09:00.023 に答える