IronPython kann kein Skript ausführen, das numpy @ importie
Disclaimer - Ich kenne Python nicht. Ich bin ein C # -Entwickler, der eine Anwendung zum Ausführen von Python-Skripten (von anderen Autoren erstellt) mit IronPython geschrieben hat. Bisher mussten diese Skripte nur @ verwendeimport math
, aber einer unserer Benutzer hat um Unterstützung der Anwendung für Numpy gebeten.
Ich habe Numpy auf meinem PC installiert (mithilfe der Datei 'numpy-1.9.2-win32-superpack-python2.7.exe'), die einen numpy-Ordner unter \ Lib \ site-packages erstellt hat. Ich habe ein zweizeiliges Python-Skript geschrieben, um zu testen, ob auf Numpy zugegriffen werden kann: -
import numpy as np
x = np.array([1,2])
Ich führe das Skript in C # aus: -
var engine = Python.CreateEngine();
engine.SetSearchPaths(new Collection<string>(new[]
{
@"C:\Python27",
@"C:\Python27\DLLs",
@"C:\Python27\Lib",
@"C:\Python27\Lib\site-packages",
@"C:\Python27\Lib\site-packages\numpy",
@"C:\Python27\Lib\site-packages\numpy\core"
}));
var scope = engine.CreateScope();
var scriptSource = engine.CreateScriptSourceFromString(
_myPythonScript,
SourceCodeKind.Statements);
scriptSource.Execute(scope);
Trotz der Einstellung all dieser Suchpfade wirft die letzte Zeile einImportException
: -
kann kein Multiarray von numpy.core importieren
Beachten Sie, dassDie SO Artikel ist ähnlich, hat aber nicht geholfen - die erste Antwort erwähnt eine "mtrand.dll" -Datei, die ich anscheinend nicht habe.
Was vermisse ich