3

既存の C++ アプリケーションのプラグイン スクリプト言語として Python を使用しています。Python のドキュメントに記載されているように、Python インタープリターを埋め込むことができます。インタープリターの初期化と初期化解除により、すべてが正常に機能します。ただし、標準ライブラリをzipファイル(通常はpython dllのバージョン番号に対応するPythonXX.zip)に圧縮できなかったため、モジュールのロードに問題があります。

最適化されたバイトコードのコンパイル後にすべての標準ライブラリを圧縮する最も簡単な方法は何ですか? これを手動で行いたくないので、簡単なスクリプトまたはコマンドを探しています。

何か案は?

ありがとう!

4

2 に答える 2

2

おそらくsetuptoolsを使用して卵を作成します(基本的にはPython用のJava jar)。setup.py はおそらく次のようになります。

from setuptools import setup, find_packages

setup(
    name='python26_stdlib',
    package_dir = {'' : '/path/to/python/lib/directory'},
    packages = find_packages(),
    #any other metadata
)

を使用してこれを実行できますpython setup.py bdist_egg。卵を取得したら、それを python パスに追加するか、setuptools を使用してインストールできます。これは、pycs の生成も処理する必要があると思います。

:システムのpythonディレクトリではこれを使用しません。このためにvirtualenvをセットアップすることをお勧めします。

于 2009-04-25T20:42:50.253 に答える
2

そのためのスクリプトを作成するのはそれほど難しくありません。zipfile.PyZipFileクラスとそのwritepyメソッドを確認してください。

于 2009-04-25T20:26:30.073 に答える