ついに(!)Boost :: Pythonをコンパイルし、XCodeプロジェクトでローカルモジュールをインポートできるようになりました。このモジュールは次の行で始まりますが、from xml.dom import minidom
実行すると次のエラーが発生します。
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "FeedStore.py", line 1, in <module>
from xml.dom import minidom
ImportError: No module named xml.dom
ただし、xml Pythonモジュールをインストールしたことはわかっています。コマンドプロンプトからPythonを開いて入力するとfrom xml.dom import minidom
、すべてがスムーズに進みます。さらに、モジュールをインポートすると、期待どおりに動作します。
sys.pathに問題があるのではないかと思ったので、プロンプトから取得したものと組み込みモジュールで使用されているものを比較しました。唯一の違いは、埋め込まれたsys.pathに''が含まれていないことです。追加してみましたが、動作は変わりませんでした。
また、埋め込みバージョンがプロンプトから使用していたものとは異なるバージョンのPythonにアクセスしているのではないかと疑っていましたが、sys.prefixは両方の実行間で一致していました。
これが私のモジュールをインポートして実行するコードです。この時点で、モジュールを埋め込むことができることを確認したいので(私は完全に初心者のC ++プログラマーです)、現時点ではかなり必要最低限のものです(まだ参照カウントもありません)。
Py_Initialize();
//PyRun_SimpleString("import sys");
//PyRun_SimpleString("sys.path.append('')"); //tried this to no avail!
PySys_SetPath("/Users/timoooo/Documents/Code/TestEmbed/"); //this allows me to import my local module
PyRun_SimpleString("import FeedStore as fs"); //here's where it whines about the lack of xml.dom
PyRun_SimpleString("store = fs.feedStore()");
PyRun_SimpleString("print store.next()");
Py_Finalize();
私はおそらくboost::pythonについて何か重要なことを誤解しています。誰かが私を助けることができますか?