1

を使用して C++ プログラムで Python スクリプトを実行しようとしていますPython.h。この C++ プログラムは にインストール ( make install)/usr/binできるため、独自のディレクトリ (インストールされていない場合) または PATH 環境変数のディレクトリのいずれかで Python スクリプトを見つけることができる必要があります。

私はやってみました:

PyObject *pName = PyString_FromString(scriptName); // scriptName is "file.py" as a char*
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
PyObject *pModule = PyImport_Import(name); // not working because absolute path only
                                           //since Python 2.7 ?

PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
PyObject *pModule = PyImport_ImportModuleEx(scriptName, NULL, NULL, NULL);

しかし、どちらもこの呼び出しの後に残しますpModule == NULLが、C++ モジュールを独自のディレクトリから実行すると機能します。

助けてくれてどうもありがとう

4

1 に答える 1