私はpythonの初心者なので、これはばかげた質問かもしれません。Pythonスクリプトが埋め込まれた単純なCプログラムを書きたいです。私は2つのファイルを持っています:
call-function.c:
#include <Python.h>
int main(int argc, char *argv[])
{
PyObject *pName, *pModule, *pDict, *pFunc, *pValue;
if (argc < 3)
{
printf("Usage: exe_name python_source function_name\n");
return 1;
}
// Initialize the Python Interpreter
Py_Initialize();
// Build the name object
if ((pName = PyString_FromString(argv[1])) == NULL) {
printf("Error: PyString_FromString\n");
return -1;
}
// Load the module object
if ((pModule = PyImport_Import(pName)) == NULL) {
printf("Error: PyImport_Import\n");
return -1;
}
// pDict is a borrowed reference
if ((pDict = PyModule_GetDict(pModule))==NULL) {
printf("Error: PyModule_GetDict\n");
return -1;
}
...
と
こんにちは。
def hello():
print ("Hello, World!")
これを次のようにコンパイルして実行します。
gcc -g -o call-function call-function.c -I/usr/include/python2.6 -lpython2.6
./call-function hello.py hello
そしてこれを持っています:
Error: PyImport_Import
つまり、PyImport_Import は を返しますNULL
。この問題で私を助けてもらえますか? どんな助けでも大歓迎です。
幸運をお祈りしています、
アレックス