Ich kann numpy mit der Python C API nicht öffnen. Ich habe den folgenden CodeKann numpy nicht importieren von C
#include<Python.h>
int main()
{
Py_Initialize();
PyRun_SimpleString("import numpy");
PyObject* numpy = PyImport_ImportModule("numpy");
Py_Finalize();
return 0;
}
Die Linie PyRun_SimpleString("import numpy")
Drucke zu trösten:
Traceback (most recent call last): File "", line 1, in File "C:\Users\matt.heath\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy__init__.py", line 180, in from . import add_newdocs File "C:\Users\matt.heath\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\add_newdocs.py", line 13, in from numpy.lib import add_newdoc File "C:\Users\matt.heath\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\lib__init__.py", line 8, in from .type_check import * File "C:\Users\matt.heath\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\lib\type_check.py", line 11, in import numpy.core.numeric as _nx File "C:\Users\matt.heath\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\core__init__.py", line 14, in from . import multiarray ImportError: cannot import name 'multiarray'
und PyImport_ImportModule("numpy")
kehrt NULL
.
Ich kann andere Module öffnen OK (z. B. PyRun_SimpleString("import chunk");
ist in Ordnung) und import numpy
funktioniert gut aus Python in einer Konsole.
Ich verwende Windows 10 und Python 3.5.
Was kann ich tun?
Ihr Fehler besagt, dass "numpy.core.multiarray" nicht importiert werden kann. Dies ist ein gemeinsames Objekt. Das heißt, es ist eher kompiliert als eine normale Python-Datei. Meine Hypothese ist, dass Ihr Codebeispiel Objektdateien nicht importieren kann und dass ein anderer Ansatz erforderlich ist. – chrisaycock
@chrisaycock, das hilft. Ich denke, darauf werde ich eine genauere Frage stellen – MatthewJohnHeath