Erreur Python, PyInstaller: aucun module nommé "Encodings" et système codec manquant
j'utilise Python 3.3.3 et j'ai essayé de construire un .exe d'un simple .PY script.
Mon script ressemble à ceci:
import encodings
print('Test')
et s'exécute correctement.
Quand j'essaie de le construire avec PyInstaller avec cette commande:
pyinstaller --onefile Testmodul.py
et essayez d'ouvrir mon .exe il apparaît avec cette erreur:
Fatal Python error: Py_Initialize: unable to load the file system codec, ImportError: No module named 'encodings'
j'ai déjà essayé d'importer le module 'encodings' dans mon testscript mais il ne fonctionne toujours pas, j'ai aussi essayé py2exe et il ne fonctionne pas non plus du tout.
y a-t-il quelque chose que je fasse de mal? Dois-je configurer quelque chose dans mon CHEMIN? le chemin correct vers "C:Python33" est déjà inclus là-dedans.
EDIT: Pour tout le monde avec ce problème: j'ai donné, et après une nouvelle installation de windows et python, et tous les autres trucs, je l'ai essayé à nouveau, de la même manière qu'avant et ça a fonctionné sans problème.. Il vaut la peine d'essayer si vous êtes vraiment désespéré!
3 réponses
c'est probablement parce que pyinstaller n'a pas inclus le module en premier lieu. Essayez l'une des solutions suivantes.
1) spécifiez le chemin d'accès à votre module pendant la compilation:
- pyinstaller --onfichier --chemins=/chemin/vers/module Testscript.py
2) spécifiez le chemin à partir du .le fichier de spécification:
exécutez cette commande en premier(dans le répertoire de pyinstaller):
python Makespec.py --onefile /path/to/yourscript.py
maintenant, vous avez la .le fichier spec. l'ouvrir dans votre éditeur de texte et ajoutez le chemin d'accès à vos modules à la pathex.
pathex=['C:\path\to\module']
ensuite, construisez votre programme:
python Build.py /path/to/yourscript.spec
3) Utiliser les importations cachées:
- pyinstaller --onfichier-masqué-import=modulename Testscript.py
- vous pouvez également spécifier caché-importation dans de la .le fichier spec.
Ajouter un crochet fichier portant le nom hook-encodings.py
C:\Python\Lib\site-packages\PyInstaller\hooks
localisation et ajout de la ligne de code suivante pour collecter le module d'encodage dans le fichier hook
from PyInstaller.utils.hooks import collect_submodules
hiddenimports = collect_submodules('encodings')
cela peut fonctionner, cette réponse pourrait vous aider!--6-->Pyinstaller Erreur pour Djnago projet "ImportError: No module named 'django.contrib.admin.apps'
quelle version de windows utilisez-vous (7 ou 10) ?
Ce problème semble être relative à des privilèges d'utilisateur ... et en supposant que c'est similaire à ce problème, il se peut que vous essayez d'exécuter votre exe fichier avec le privilège administrateur, et s'il échoue à nouveau, essayez D'exécuter "Pyinstaller" à partir d'un cmd.exe en cours d'exécution avec les droits administrateur.