Evcil hayvan projeme bazı python yerleştirmeye çalışıyorum. Aşağıdaki kodu sorunumu azaltmıştır: (Python C API) PyRun_StringFile yerleşik işlevler eksik?
#include <Python.h>
#include "iostream"
int main(int argc, char *argv[])
{
Py_Initialize();
PyObject *globals = Py_BuildValue("{}");
PyObject *locals = Py_BuildValue("{}");
PyObject *string_result = PyRun_StringFlags(
"a=5\n"
"s='hello'\n"
"d=dict()\n"
,
Py_file_input, globals, locals, NULL);
if (PyErr_Occurred()) {PyErr_Print();PyErr_Clear();return 1;}
return 0;
}
(. Ben herhangi bir referans temizlemeyeceğim biliyorum Bu bir örnektir.) O
c++ $(python-config --includes) $(python-config --libs) test.cpp -o test
tarafından derlenen edilebilir
bunu çalıştırırsanız
aşağıdaki hatayı alıyorum:
$ ./test
Traceback (most recent call last):
File "<string>", line 3, in <module>
NameError: name 'dict' is not defined
yerleşik işlevler yüklenmez görünüyor. Ben de hiçbir şey için import
yapamam. __import__
'un eksik olduğunu anlıyorum. Kayıp modülleri veya eksik olduğum şeyleri nasıl yükleyebilirim?
Teşekkürler.
Teşekkürler! PyEval_GetBuiltins, tam ihtiyacım olan şeydi. Sadece nasıl bulacağımı bilmiyordum. – Simon