2016-05-04 3 views
0

Die Situation:Python 2.7 Skript stürzt auf brandneue Maschine

ich meist MATLAB verwenden. Ich kenne Python überhaupt nicht, aber ein Mitarbeiter hat ein Datenerfassungsprogramm darin geschrieben. Meine MATLAB-Arbeit wird angehalten, bis ich dieses Python-Skript auf meinem Computer ausführen kann, aber es stürzt beim Ausführen ab. Ich muss das funktionieren lassen, aber der Code hat keine Kommentare, und ich kann es mir nicht leisten, eine völlig neue Sprache für diese eine Sache zu lernen.

Ich benutze Python 2.7.11, PyCharm 2016.1.2 Professional. Ich kopiere den Ordner vom Computer meines Kollegen mit dem Projekt darin, aber es stürzt ab, wenn ich versuche, es auf meinem Computer auszuführen. PyCharm findet vor der Laufzeit keine Fehler. Dies ist die Fehlermeldung:

File "C:\Users\mherunter\Desktop\LabTest\flask\lib\site- 
packages\UniversalLibrary\UniversalLibrary.py", line 57, in <module> 
cbw = ctypes.windll.cbw32 # open CBW32.DLL 
File "c:\python27\Lib\ctypes\__init__.py", line 435, in __getattr__ 
dll = self._dlltype(name) 
File "c:\python27\Lib\ctypes\__init__.py", line 365, in __init__ 
self._handle = _dlopen(self._name, mode) 
WindowsError: [Error 126] The specified module could not be found 

Was ich versucht habe:

ich bei einigen anderen Antworten sah hier und lesen Sie über ein paar mögliche Probleme. Ich glaube nicht, dass etwas wie "\ t" in einem Dateipfad in ein TAB-Zeichen konvertiert wird, da der Code auf einem anderen Computer gut läuft. Ich bin nicht vertraut mit DLL viel, aber es scheint, als ob der Computer CBW32.DLL nicht öffnen kann. Ich suchte meinen Computer danach und die Datei wird nicht angezeigt.

Ich habe versucht, dies zu CBW64 zu ändern, da meine Maschine 64bit ist, aber die gleiche Fehlermeldung erhalten. Es ist eine 32-Bit-Installation von Python Ich denke, platform.architecture() sagt 32bit.

Ich versuchte es auch auf einer brandneuen (zuerst, was ich getan habe, nachdem es aus der Box Art von neuen) Computer, Windows 10. Das hat nicht funktioniert, aber ich lese, dass ich möglicherweise eine installieren muss C++ - Compiler, um alle notwendigen DLLs zu erhalten. Installierte VS Community 2015 mit Visual C++, aber das half auch nicht.

Das letzte, was ich hier gesehen habe, ist Wiederaufbau der DLL mit \ MT, um es allein zu machen. Ich habe versucht zu suchen, wie man das online macht, aber hatte nicht viel Glück. Kann jemand entweder:

  1. Erzähl mir genau, wie man die DLL mit \ MT neu erstellen?

  2. Einen anderen Grund vorschlagen/beheben für dieses Problem?

+0

Arbeiten Sie mit einer 64-Bit-Python-Installation oder einer 32-Bit-Python-Installation? – JRajan

+1

Mögliches Duplikat von [WindowsError: \ [Fehler 126 \] beim Laden einer DLL mit ctypes] (http://stackoverflow.com/questions/10411709/windowserror-error-126-when-loading-a-dll-with-ctypes) – skrrgwasme

+1

oder [WindowsError: \ [Fehler 126 \] Das angegebene Modul konnte nicht gefunden werden] (http://stackoverflow.com/q/1940578/2615940) – skrrgwasme

Antwort

2

Nun, Sie können nicht DLL laden, die nicht auf Ihrem Computer existiert.

cbw32.dll ist Teil I/O Library for Measurement Computing Data Acquisition Products

So müssen Sie es herunterladen und installieren Sie die DLL zu erhalten.

Eine andere Möglichkeit ist es im Internet zu suchen, aber hüten Sie sich vor gefälschten DLLs, die Malware sein könnten.

+0

Danke, das ist es! – MattWH