Pyinstaller mit scipy.signal ImportError: DLL load failed

Mit PyInstaller 3.3, Python 3.4 habe ich zusammengestellt, ein Programm, das auf die scipy.signal.periodogram () - Funktion, und es ist was die .exe-crash sofort startet. Ich habe gesucht alle über stack overflow und andere Standorte für ein Weg, um zu versuchen, um die richtigen DLLs, aber ohne Erfolg. Bitte helfen Sie mir herauszufinden, wenn ich brauchen, um einige spezielle DLLs in meine .spec-Datei oder einige andere versteckte-Importe!

Hier ist mein PyInstaller Befehl:

pyinstaller --noupx --hidden-import=tkinter --hidden-import=scipy --hidden-import=matplotlib constantG_constantHz.py

und hier ist der entsprechende Fehler von der Eingabeaufforderung, nach dem starten meiner exe:

Traceback (most recent call last):

Datei "constantG_constantHz.py", line 16, in

Datei "C:\Users\esandberg\AppData\Local\Continuum\anaconda3\envs\py34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", Linie 631, in exec_module
exec(bytecode-Modul.dict)

Datei "site-packages\scipy\signal__init__.py", line 304, in

Datei "C:\Users\esandberg\AppData\Local\Continuum\anaconda3\envs\py34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", Linie 631, in exec_module
exec(bytecode-Modul.dict)

Datei "site-packages\scipy\signal\bsplines.py", line 12, in

Datei "C:\Users\esandberg\AppData\Local\Continuum\anaconda3\envs\py34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", Linie 631, in exec_module
exec(bytecode-Modul.dict)

Datei "site-packages\scipy\special__init__.py", line 640, in

Datei "C:\Users\esandberg\AppData\Local\Continuum\anaconda3\envs\py34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
Modul = loader.load_module(fullname)

ImportError: DLL load failed: Das angegebene Modul konnte nicht gefunden werden.

[1272] Failed to execute script constantG_constantHz

Und hier ist meine .spec-Datei:

# -*- mode: python -*-

block_cipher = None


a = Analysis(['constantG_constantHz.py'],
             pathex=['C:\\Users\\esandberg\\Desktop'],
             binaries=[],
             datas=[],
             hiddenimports=['tkinter', 'scipy', 'matplotlib'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='constantG_constantHz',
          debug=False,
          strip=False,
          upx=False,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=False,
               name='constantG_constantHz')
  • Check meine Antwort hier, es ist nicht genau das gleiche, könnte aber von nutzen sein, stackoverflow.com/questions/46499068/...
  • Darüber hinaus gibt es irgendwelche Warnungen, die kommen beim kompilieren mit pyinstaller?
  • Ja, es gibt ein Dutzend zufällige Warnungen wie "77227 WARNUNG: lib nicht gefunden: libopenblas.BNVRK7633HSX7YVO2TADGR4A5KEKXJAW.gfortran-win_amd64.dll Abhängigkeit von C:\Users\esandberg\AppData\Local\Continuum\anaconda3\envs\py34\lib\site-packages\scipy\linalg_flapack.pyd"
  • Diese Warnungen sind bezeichnend für das problem. Ihr code wird kompiliert, aber es warnt Sie über fehlende Dinge. Können Sie Ihre spec-Datei?
  • Ich gerade Hinzugefügt haben, werfen Sie einen Blick und sehen, was Sie denken.
  • Ich war nicht besorgt über die meisten "fehlenden" dlls aus Gründen wie diesen (Sie sind nicht nur ein Problem ist): stackoverflow.com/questions/17023419/... Meine Suche rund um das web scheint eine seltsame Fehlermeldung, mit der scipy-Modul speziell die ist, wo meine Probleme herkommen
  • Sie ausführen müssen, um eine Abhängigkeit, die Suche auf Ihrer exe-Datei, um herauszufinden, die Abhängigkeiten, die Ihnen fehlt, (wahrscheinlich die, die in den Warnungen). "Dll load failed" bedeutet, dass es nicht finden können, die dll, die Sie wollen (oder es hängt sich auf). Verwenden Sie dumpin oder dependencywalker zu identifizieren, die fehlenden.
  • Wenn es ein Problem mit scipy selbst, dann ist es aus meinem Reich des Wissens. Welches Betriebssystem verwendest du? In der Sie python-code sind Sie der Zugriff auf eine externe dll-überall?
  • Es stellte sich heraus, dass eine Kombination von vielen fehlenden dlls. PyInstaller und Scipy arbeiten kann, aber für einige Grund es hat Probleme bei der Suche die meisten von scipy ' s dlls. Ich poste meine .spec-Datei als eine Antwort, und vielleicht jemand läuft in ähnliche Schwierigkeiten werden in der Lage sein, zu versuchen, etwas ähnliches für sich selbst. Vielen Dank für hilft mir, den Boden!

InformationsquelleAutor Erik | 2017-11-01
Schreibe einen Kommentar