web-dev-qa-db-fra.com

L'installation de pyinstaller via pip conduit à "échec du processus de création"

Est-ce que quelqu'un sait pourquoi pyinstaller échoue immédiatement après avoir été installé via pip via anaconda 32bit?

J'ai installé pyinstaller via pip install pyinstaller via l'invite de commande anaconda sous Windows 64 bits en utilisant l'anaconda 32 bits (car je veux créer des exécutables 32 bits).

Oui, j'ai lu pyinstaller --version n'a pas pu créer un processus et pip/easy_install Échec: n'a pas réussi à créer le processus et Comment installer pyinstaller à l'aide de pip

Je n'ai renommé aucun fichier installé anaconda il y a 15 minutes, pycharm il y a 10 minutes et pyinstaller il y a 5 minutes. J'ai désinstallé pyinstaller via désinstallation de chiot et réinstallé dans le dossier des scripts anaconda, cela n'a rien fait.

Toute perspicacité quelqu'un? #windowsfrustrations Path C:\Users\me\Anaconda\Lib\site-packages>PyInstaller

22
phillipsK

[Mise à jour: Donc, apparemment, le correctif racine pour cela se trouve dans setuptools. Le correctif est entré dans la version 24.3.1 de setuptools publiée le 23 juillet 2016. La mise à niveau vers une version plus récente devrait prendre en charge cette opération.]

Il s’avère qu’il s’agit d’un bogue dans pip . Comme mentionné dans l'autre réponse, il y a un problème d'espaces dans le chemin d'accès à l'installation Python.

Plus précisément, il ne contient pas de guillemets dans les scripts de lanceur générés. Les scripts peuvent être trouvés dans\Scripts\(par exemple, C:\Program Files\Python 3.5\Scripts). Pour pyinstaller, il y a 4 scripts pyi- * et un script pyinstaller-script.py.

Vous pouvez contourner ce problème assez facilement en modifiant la première ligne de chaque script. Les premières lignes générées ressembleront à quelque chose comme:

#!c:\program files\python 3.5\python.exe
# EASY-INSTALL-ENTRY-SCRIPT: 'PyInstaller==3.1.1','console_scripts','pyinstaller'

Ajoutez simplement des guillemets autour de la commande Shebang, comme suit:

#!"c:\program files\python 3.5\python.exe"
32
Janzert

Cette erreur semble se produire lorsque le chemin de Python (ou de PyInstaller) contient un espace (par exemple, lorsqu’on installe Python dans le répertoire Program Files (x86).)

Je soupçonne que quelque part dans le code source de PyInstaller, il manque des guillemets.

Essayez d’installer Python dans un chemin sans espaces et d’installer PyInstaller (via pip) sur ce chemin.

8
AthanasiusOfAlex

Comme mentionné par StationaryTraveller, vous pouvez contourner ce problème en appelant le script pyinstaller-script.py

Ci-dessous un exemple

C:>"C:\Program Files (x86)\Python35-32\python.exe" "C:\Program Files (x86)\Python35-32\Scripts\pyinstaller-script.py" script_to_compile.py
5

À compter de juillet 2016, le problème a été signalé en tant que problème résolu. Ugrading pip, setuptools, puis la désinstallation et l'installation de pyinstaller devraient remédier au problème.

5
Harald Scheirich

J'ai eu le même problème, même avec pip et setuptools mis à jour, et le problème était que pyinstaller-script.py, trouvé dans le répertoire C:\Python35\Scripts \, avait le mauvais chemin pour python.exe.

Python sur mon système était installé dans AppData, mais ses scripts et ses modules étaient installés dans le dossier C:\Python35 \.

Modification de la première ligne de pyinstaller-script.py par le chemin correct de python.exe (répertoire Programs dans AppData), avec des guillemets s’il existe un espace dans le nom des dossiers entre les deux, ce qui devrait fonctionner et créer un processus ".

À l’aide de Windows10 et du programme d’installation officiel de Python35, Python y a été installé d’une manière ou d’une autre.

1
A Simões

Je l'ai corrigé [Anaconda 3.4] en faisant ceci:

  1. Entrez Invite de commande Anaconda
  2. Accédez au dossier de scripts anaconda par: cd/chemin/vers/anaconda/Scripts
  3. Write: chemin d'accès python pyinstaller-script.py/YourScript.py

Travaillé comme un charme.

1
StationaryTraveller

python -m pip install pip a travaillé pour moi.

Avec Anaconda version de Python 3.5.2 et 3.6.0 (mis à niveau pour cette erreur, mais l'erreur semble être identique pour les deux versions), j'avais rencontré le même message d'erreur avec la commande pip install pip ou pip install whatever/conda install whatever

J'avais à la fois Python 2.7 et 3.5, mais pip install --upgrade pip fonctionnait tous les jours, jusqu'à il y a quelques jours.

0
zyc

"C:\Program Files\Python35-32\python.exe" "C:\Program Files\Python35-32\Scripts\pyinstaller-script.py" --onefile --windowed ex_btn.py

--onefile: ne crée que les fichiers exe, -- windowed: exclut l'invite de commande CMD, ex_btn.py: fichier de script python.

Cela a fonctionné comme un charme.

0
suneth rajamanthri