pyInstaller: Import Fehler
Ich bin in Windows, mit pyInstaller Paket eine python-Datei. Aber etwas Fehler ist aufgetreten:
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in i
mportHook
mod = _self_doimport(nm, ctx, fqname)
File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 480, in d
oimport
exec co in mod.__dict__
File "D:\Useful Apps\pyinstaller-2.0\server\build\pyi.win32\server\out00-PYZ.p
yz\SocketServer", line 132, in <module>
File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in i
mportHook
mod = _self_doimport(nm, ctx, fqname)
File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 480, in d
oimport
exec co in mod.__dict__
File "D:\Useful Apps\pyinstaller-2.0\server\build\pyi.win32\server\out00-PYZ.p
yz\socket", line 47, in <module>
File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 409, in i
mportHook
raise ImportError("No module named %s" % fqname)
ImportError: No module named _socket
Ich weiß, dass _socket
im Pfad C:\Python27\libs\_socket.lib
, aber wie lassen die EXE
finden diese Datei?
InformationsquelleAutor Searene | 2013-02-27
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit virtualenv verwenden Sie die "-p" oder "--path= " D:...'" - option. Wie diese:
Was dies bedeutet ist, erzeugt foo.spec-Datei mit diesem pathex Pfad
InformationsquelleAutor
Dies klingt wie ein job für versteckte Importe (nur verfügbar in der neuesten builds).
Aus der docs
InformationsquelleAutor danodonovan
Können Sie den Pfad zu Ihrer Anwendung spec-Datei.
In der Analyse - Objekt können Sie festlegen
pathex=['C:\Python27\libs\', 'C:\Python27\Lib\site-packages']
, und keinen anderen Weg ...Beachten Sie, dass wenn der Pfad nicht gefunden wurde, ist es kein problem ... ich habe die Pfade von linux-als auch in es.
InformationsquelleAutor marius_cornescu
Keine der oben genannten Antworten, die für mich gearbeitet, aber ich habe es zu arbeiten. Ich war mit openpyxl und es erforderlich jdcal in der datetime.py -Modul. Keine versteckten Importe oder jede dieser Methoden half, läuft die exe-Datei würde immer noch sagen, jdcal nicht gefunden. Der work-around, den ich verwendet wurde, kopieren Sie einfach die paar Funktionen aus jdcal direkt in die datetime.py in der openpyxl code. Dann lief
pyinstaller -F program.py
- und es funktionierte!
InformationsquelleAutor Korben Dallas
Hatte ähnliche Probleme. Hier ist mein fix für PyQt5, cffi, python 3.4.3:
Dies behebt die " sip "nicht gefunden" - Fehler und die "_cffi_backend', wenn das kommt:
Blick auf 'pathex" und "hiddenimports" oben. Das sind die einzigen änderungen zu den Standardeinstellungen generiert. Erstellen exe mit:
pyinstaller LightShowApp.spec -F
Rannte ich, dass außerhalb der venv oder pip-win - whateverTF Mist ist!
InformationsquelleAutor