ich eine DLL von Python zu laden bin versucht, aber WindowsError: [Error 126] The specified module could not be found.
DLL Setzen Sie sich mit Abhängigkeiten kommunizieren
import ctypes
my_dll = "C:/smt/toolbox/dlls/NMSim_Libraries.dll"
nmsim = ctypes.cdll.LoadLibrary(my_dll)
, wenn ich Dependency Walker verwendet, heißt es, dass 3 Abhängigkeiten fehlen, von denen alle auf dem Weg sind: "C: \ Benutzer \ skeyel \ AppData \ Local \ Continuum \ Anaconda2 \ Lib \ site-packages \ numpy \ core"
ich habe versucht, diesen Weg zu dem Systempfad hinzugefügt werden:
import sys
sys.path.append("C:\\Users\\skeyel\\AppData\\Local\\Continuum\\Anaconda2\\Lib\\site-packages\\numpy\\core\\")
aber das hat das Problem nicht gelöst. Wie bekomme ich die .dll, um mit den Abhängigkeiten zu kommunizieren?
HINWEISE:
Es gibt zwei Python-Installationen auf meinem Computer: 2.7.8, die mit ArcGIS und 2.7.11, die mit Anaconda ausgeliefert ausgeliefert. Es läuft gut, wenn es durch die Spyder-IDE läuft, die mit der Anaconda-Installation geliefert wurde.
Es läuft gut auf meinem Laptop (sowohl 2.7.8 und 2.7.11).
Ich habe überprüft und/oder versucht, eine Vielzahl von Dingen, basierend auf den Rat von: WindowsError: [Error 126] The specified module could not be found
3a. Die DLL existiert und der Pfad zur DLL ist korrekt, da es für eine Version funktioniert, wenn ich den exakt gleichen Code kopiere und einfüge
3b. Die DLL und Python sind beide für 32 Bit eingerichtet (Anmerkung: das Betriebssystem ist 64 Bit). Mit
import platform
gefolgt vonplatform.architecture()
gibt beide Versionen als 32-Bit.3c. Ich habe versucht,
sys.path
zu justieren, um die gleichen Wege zwischen den zwei Installationen zu enthalten3d. Ich habe versucht,
os.chdir()
in das DLL-Verzeichnis zu ändern, und dann nur die DLL mit Namen ohne Pfadinformationen laden3e. Ich habe versucht, das Kopieren und Einfügen der genannten fehlenden Abhängigkeiten in den gleichen Ordner wie die DLL-
Ich habe versucht, Kopieren, Einfügen und Ausführen des (minimal modifiziert) Code aus ausgewählten Antwort hier: Python | accessing dll using ctypes
Hier Zurückverfolgungs ist voll:
Runtime error
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\ctypes\__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\ctypes\__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found
es scheint, wie es ist etwas einfach, dass ich fehle - wer weiß, was es ist?
Vielen Dank.
Beachten Sie, dass 'sys.path.append' fügt den als Argument angegebenen Pfad nicht an die Umgebungsvariable __PATH__ an, sondern an den Suchpfad des Moduls _Python_ (__PYTHONPATH__). Probieren Sie 'os.environ [" PATH "]' oder besser noch die Variable __PATH__, bevor Sie den Interpreter starten. – CristiFati