を使用して 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++ モジュールを独自のディレクトリから実行すると機能します。
助けてくれてどうもありがとう