標準ライブラリなしでpythonを埋め込むことは可能ですか?
私はpython 2.7.6のcmakeビルドを使用しており、次のように基本的な組み込みスクリプトを実行しています。
#include <stdio.h>
#include <Python.h>
int main(int argc, char *argv[]) {
/* Setup */
Py_SetProgramName(argv[0]);
Py_Initialize();
/* Run the 'main' module */
int rtn = Py_Main(argc, _argv);
Py_Finalize();
return rtn;
}
..しかし、実行すると、次のようになります。
ImportError: No module named site
正しい $PYTHONHOME をセットアップすると、問題なく動作します。しかし、それは私がやろうとしていることではありません。標準ライブラリなしでスタンドアロン アプリケーションに python のコピーを埋め込もうとしています。
私はそれを使用して感謝していますが、この特定の組み込み環境では、親アプリケーションによって公開された特定のライブラリのみが利用可能な lua に似たものが必要です (ただし、明らかに Python 構文を使用します)。
これには、クロスリンクされたすべての動的ライブラリを含む標準ライブラリの配布 (または構築) を気にしないという追加のボーナスがあります。
これはすべてとして可能ですか?それとも、標準ライブラリの一部である sys.path、import、{}、[] などの言語の基本的なブロックが欠落していることに必然的に遭遇するのでしょうか?
可能であれば、どのように実行しますか?