5

C ベースのアプリ内で Python スクリプトを実行する必要があります。Python ライブラリから標準モジュールをインポートできます。

PyRun_SimpleString("import sys")

しかし、ローカルモジュールをインポートしようとするとcan

PyRun_SimpleString("import can")

エラーメッセージを返します:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named can

import canIPython でコマンドを入力すると、システムはそれを見つけることができます。

アプリを can にリンクするにはどうすればよいですか? PYTHONPATH作業ディレクトリに設定しようとしました。

4

2 に答える 2

9

Python ライブラリを埋め込むことは、対話型インタープリターのようには追加''されません。適切なディレクトリを追加するためにsys.path使用します。PySys_SetPath()

ああ、私が見つけたものを見てください。

于 2010-05-26T23:57:37.050 に答える
0

私はこれがはるかに堅牢に機能することを発見しました、

PyObject *sys = PyImport_ImportModule("sys");
PyObject *path = PyObject_GetAttrString(sys, "path");
PyList_Append(path, PyUnicode_FromString("."));
于 2015-03-07T05:29:09.263 に答える