2015-08-04 4 views
20

Weiß jemand, warum pyinstaller schlägt sofort nach der Installation über pip über anaconda 32bit?Installation von pyinstaller über pip führt zu "konnte nicht erstellt werden"

Ich installierte pyinstaller über pip install pyinstaller durch die Anakonda-Eingabeaufforderung unter Windows 64-Bit unter Verwendung von 32-Bit-Anakonda (weil ich 32-Bit-ausführbare Dateien erstellen wollen)

Ja ich lese pyinstaller --version failed to create a process und pip/easy_install failure: failed to create process und How to install pyinstaller using pip

Ich habe benenne keine Dateien, die ich vor 15 Minuten installiert habe, vor 15 Minuten pycharm und vor 5 Minuten pyinstaller. Ich habe Pyinstaller über die Deinstallation von pup deinstalliert und im Ordner "Anaconda Scripts" neu installiert, das hat nichts bewirkt.

Jeder Einblick jemand? #windowsfrustrations Pfad C:\Users\me\Anaconda\Lib\site-packages>PyInstaller

+0

War Ihr Benutzer wirklich "ich" oder hatten Sie einen echten Benutzernamen, der ein Leerzeichen hatte? (z. B. 'John Doe') – phoenix

+0

Dies wurde im Juli 2016 behoben –

Antwort

29

[Update: So ist der Grund für das Problem in Setuptools offensichtlich. Der Fix ging in die Version 23.3.1 von setuptools, die am 23. Juli 2016 veröffentlicht wurde. Das Upgrade auf neuere Versionen sollte dies berücksichtigen.]

Es stellt sich heraus, dass dies ein bug in pip ist. Wie in der anderen Antwort erwähnt, hat es ein Problem mit Leerzeichen im Pfad zur Python-Installation.

Insbesondere keine Anführungszeichen in den generierten Launcher-Skripten.Die Skripts befinden sich in \ Scripts \ (z. B. C: \ Programme \ Python 3.5 \ Scripts). Für pyinstaller gibt es 4 pyi- * und ein pyinstaller-script.py Skripte.

Sie können dies relativ einfach umgehen, indem Sie die erste Zeile jedes Skripts bearbeiten. Die erzeugten ersten Zeilen wird in etwa so aussehen:

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

Gerade Anführungszeichen hinzufügen um den shebang Befehl, etwa so:

#!"c:\program files\python 3.5\python.exe" 
+1

Es ist ein Jahr her, seit die ursprüngliche Frage gestellt wurde, und diese Antwort funktionierte immer noch für mich. Vielen Dank! – wecsam

+0

der Satz "Für pyinstaller gibt es 4 pyi- * und ein pyinstaller-script.py Skripte." ist so irreführend. in der Tat nur Ändern der pyinstaller-script.py Datei funktioniert, danke anway –

+0

Dieser Fehler scheint in späteren pip und setuptools behoben werden.Sehen Sie [diese Antwort unten] (http://stackoverflow.com/a/39045803/694733), wie Sie es stattdessen beheben können. – user694733

-1

In meinem Fall, ich deinstalliere und installiere pyinstaller, dann funktioniert alles gut.

Es kann sich auf alle Änderungen in Python nach der Installation beziehen, so dass eine Neuinstallation eine gute Wahl ist.

Deinstallation:

pip uninstall pyinstaller 

installieren:

pip install pyinstaller 
7

Dieser Fehler scheint aufzutreten, wenn Python (oder PyInstaller des) Pfad ein Leerzeichen enthält (zum Beispiel, wenn ein Python installiert zu Das Program Files (x86) Verzeichnis.)

Ich vermute, dass Somethy In PyInstallers Quellcode fehlen einige Anführungszeichen.

Versuchen Sie, Python in einem Pfad ohne Leerzeichen zu installieren, und installieren Sie PyInstaller (über Pip) zu diesem Pfad.

+1

Ich habe Python ohne Leerzeichen neu installiert. Dies scheint eine bessere Option als die Bearbeitung aller Launcher-Skripte zu sein. Sie können Ihre Änderungen verlieren, wenn Sie pyinstaller aktualisieren. – Antony

1

Ich reparierte es [Anaconda 3.4] durch dies zu tun:

  1. Geben Sie Anaconda Eingabeaufforderung
  2. zu anaconda Skripte Ordner Erhalten von: cd/path/to/anaconda/Scripts
  3. schreiben: python pyinstaller-script.py path/YourScript.py

Arbeitete wie ein Charme.

4

Wie StationaryTraveller erwähnt, können Sie durch den Aufruf Skript pyinstaller-script.py

, um dieses Problem zu umgehen

Unten ist ein Beispiel

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

„C: \ Program Fil es \ Python35-32 \ python.exe "" C: \ Programme \ Python35-32 \ Scripts \ pyinstaller-script.py "--onefile --windowed ex_btn.py

--onefile: nur exe erstellen, --windowed: Schließen Sie die Eingabeaufforderung CMD, ex_btn.py: Python-Skriptdatei aus.

Das funktionierte wie Charme.

5

Ab Juli 2016 wurde das Thema als feste, berichtet pyinstaller ugrading pip, Setuptools und dann zu deinstallieren und die Installation sollte das Problem

0

python -m pip install pip für mich beheben gearbeitet.

Mit Anaconda-Version von Python 3.5.2 und 3.6.0 (für diesen Fehler Modernisiert, aber der Fehler erscheint das gleiche mit beiden Versionen zu sein), hatte ich die gleiche Fehlermeldung mit dem Befehl pip install pip angetroffen wird, oder pip install whatever/conda install whatever .

Ich hatte sowohl Python 2.7 und 3.5, aber pip install --upgrade pip hatte jeden Tag gearbeitet, bis vor ein paar Tagen.

+0

Es könnte die Reihenfolge für 2 Python-Versionen im 'PATH' getauscht werden? – zyc

0

Ich hatte das gleiche Problem, selbst mit pip und setuptools aktualisiert, und das Problem war, dass pyinstaller-script.py, gefunden in C: \ Python35 \ Scripts \ Verzeichnis, hatte den falschen Pfad für python.exe.

Python auf meinem System wurde irgendwie in AppData installiert, aber seine Skripte und Module wurden im Ordner C: \ Python35 \ installiert.

Ändern der ersten Zeile von pyinstaller-script.py in den korrekten Pfad von python.exe (Programmverzeichnis in AppData), mit Anführungszeichen, wenn irgendwo Platz in den Ordnernamen ist, und es sollte funktionieren und nicht mehr angezeigt werden der "Prozess konnte nicht erstellt werden".

Mit Windows10 und Python35 offiziellen Installer hat Python irgendwie installiert.

Verwandte Themen