PyInstaller: “ImportError: No module named os”
-
26-10-2019 - |
Domanda
Sto cercando di imparare PyInstaller. Ho creato due file semplici, Test.py:
import os
e Test.spec:
anal = Analysis (["Test.py"])
pyz = PYZ(anal.pure)
exe = EXE(anal.scripts, pyz, name="Test.exe", exclude_binaries=1, debug=1)
coll = COLLECT(exe, anal.binaries, name="dist")
Poi mi sono imbattuto:
Build.py Test.spec
Questa ran senza mesages di errore, e ha prodotto un dist directory con diversi file, tra cui Test.exe. Quando ho eseguito Test.exe, non è riuscito con l'uscita:
Found embedded PKG: C:\Documents and Settings\Rade\My Documents\Development\Test\Test.exe
Extracting binaries
manifestpath: C:\Documents and Settings\Rade\My Documents\Development\Test\Test.
exe.manifest
Error activating the context
python27.dll
Manipulating evironment
PYTHONPATH=C:/Documents and Settings/Rade/My Documents/Development/Test
importing modules from CArchive
extracted iu
extracted struct
extracted archive
Installing import hooks
outPYZ1.pyz
Running scripts
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named os
RC: -1 from Test
OK.
Sono sicuro che ho fatto errore qualche stupido del principiante, ma che cosa?
Soluzione
Per i file semplici come questo, è necessario utilizzare per la creazione di Makespec.py
spec invece di scrivere manualmente. Per i grandi progetti, è possibile utilizzare l'uscita del Makespec.py come modello e modificarli.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow