2010-11-05 21 views
3

J'essaie de créer un fichier Python .exe pour Windows et je suis capable de le créer correctement. Cependant, lorsque j'exécute l'application, je remarque qu'elle ne peut pas effectuer toutes ses fonctions car toutes les bibliothèques n'ont pas été importées; PySNMP n'est pas importé dans spécifique. Quand je regarde la sortie du processus de construction, je remarque que PySNMP n'est pas répertorié du tout, même si plusieurs modules de mon programme l'importent. Quelqu'un sait ce qui pourrait causer ce problème? Merci!Les bibliothèques ne sont pas importées lors de la création d'un exécutable Python avec pyinstaller

Voici le code qui génère le programme d'installation:

FILES = <main program modules (.py)> 
PyInstaller = C:/Python27/pyinstaller 
CygPyInstaller = /cygdrive/c/Python27/pyinstaller run : python app.py makespec : $(FILES) @echo "***** PyInstaller: Makespec *****" python $(PyInstaller)/Makespec.py \ 
--onefile \ 
--windowed \ 
--icon=Icons/icon.ico \ 
--name=Application1045 \ 
app.py 
+0

Peut-on voir le code qui génère le programme d'installation? –

+0

files = PyInstaller = C:/Python27/pyinstaller CygPyInstaller =/cygdrive/c/Python27/pyinstaller run: \t python app.py makespec: $ (FILES) \t @echo "***** PyInstaller: Makespec *****" \t python $ (PyInstaller) /Makespec.py \ --onefile \ --windowed \ --icon = Icônes/icône .ico \ --name = Application1045 \ app.py – Jenny

Répondre

1

si vous personnalisez le chemin du module afin d'importer ces bibliothèques (par exemple, j'ai quelques bibliothèques non standard regroupées dans un dossier ./lib/ dans mon arbre de code source) alors vous devriez les ajouter avec --paths=lib sur la ligne de commande pyinstaller - avoir sys.path.append ("lib") au milieu du code n'a pas fonctionné (pas sûr comment il a réussi à compiler du tout si il n'a pas pu les trouver, mais il l'a fait, et cela a pris du temps à traquer ...)

+0

J'ai essayé ceci. Cela n'a pas fonctionné. pyinstaller --clean -F app.py --path /home/robertja/.local/lib/python2.6/site-packages/pysnmp-4.2.5-py2.6.egg/pysnmp/smi:/home/robertja /.local/lib/python2.6/site-packages/pysnmp-4.2.5-py2.6.egg/pysnmp/smi/mibs:/home/robertja/.local/lib/python2.6/site-packages/ pysnmp-4.2.5-py2.6.egg/pysnmp/smi/mibs/instances –

+0

semble que vous utilisez "--path" plutôt que "--paths" (bien que ça fait si longtemps que je ne me souviens plus avait raison, et ne sait pas ce qui est juste dans la version actuelle) – Shish

+0

Option longue permet des options raccourcies. Aussi utilisé -p qui est le même. –