10

C++ および Python/Cython ファイルの束を含むプロジェクトがあります。これまでは、C++ 部分を一次開発し、qmake で静的ライブラリにコンパイルしていました。いくつかのメソッドは、boost::python で公開され、.py ファイルから実行されます。

ここで、すべてをスタンドアロンの実行可能ファイルにコンパイルしたいと考えました。

私の質問:これを行う最善の方法は何ですか?Cython に切り替えて、python ファイルをコンパイルし、ライブラリをリンクしようとしました。しかし、 distutils/setup.py を使用して実行可能ファイルをコンパイルする直接的な方法はなく、共有ライブラリのみがあるようです。

.cpp ファイルと .pyxファイルの両方を一度に簡単に実行可能ファイルにコンパイルする方法はありますか?

共有ライブラリをインポートしてpyinstallerですべてをパックすることなく、多くのboost::pythonラッパーを取り除き、c++/pythonのきちんとした組み合わせを得ることができますか?

4

1 に答える 1

1

あなたは調べる必要があります:

Python がエントリ ポイントであるため、スタンドアロンのインタープリター、環境、およびリソースの場所を app/exe/binary にバンドルできます。すべてのライブラリ モジュールを自己完結型のサイト パッケージに収集します。

通常の純粋な py ファイルを使用せず、cython ファイルしかない場合は、cython への --embed フラグを使用して、それらの 1 つにインタープリターをエントリ ポイントとして埋め込むこともできます: http://wiki.cython .org/EmbeddingCython
注、これは前述のパッケージング オプションと同様の「フリーズ」アプローチですが、自己完結型の環境を構築するために余分な長さは必要ありません

于 2012-05-27T18:53:39.350 に答える