Die Wurzel des Problems ist , dass Räume in Bauden als Zufuhr zusätzliche Argumente zu einem ausführbaren interpretiert werden, so C:\Program Files\Python\python.exewerden , wie gesehen C:\Programgegeben Files\Python\python.exeals Argument.
Die beste Lösung dafür, da Windows Leerzeichen im $HOMEVerzeichnis und an Program Filesanderen Stellen LIEBT, obwohl es in cmd.exe und Powershell und anderen Tools wirklich Probleme verursachen kann, ist:
Installieren Sie Python C:\Pythonund fügen Sie den C:\PythonOrdner, in dem sich python.exedas ScriptsVerzeichnis befindet, und das darin befindliche Verzeichnis Ihrer PATHUmgebungsvariablen auf System- oder Benutzerebene hinzu.
Wenn Sie Python 2.7.x und 3.x zu koexistieren müssen, installieren Sie sie in C:\Python27und C:\Python36und C:\Python37und benennen Sie die python.exezu python2.exe, python36.exe, python37.exe, etc. und jeder dieser Ordner und deren fügen ScriptsOrdner in die PATH. Möglicherweise möchten Sie festlegen, welche der Python 3-Versionen Sie als "Standard" verwenden möchten, und in diesem Ordner eine Kopie erstellen python3.exe, um alle verwendeten Skripts zu verarbeiten !#/usr/bin/env python3.
Wenn in Ihrem Benutzer-Ausgangsverzeichnis ein Leerzeichen vorhanden ist, können auch Probleme auftreten, wenn Sie die pip install --user somepackageSyntax verwenden. Die --userStandardeinstellungen sind Ihr Ausgangsverzeichnis, und der Speicherplatz wird auch in diesem Fall die Dinge auslösen. Die Problemumgehung wird hier beschrieben , läuft jedoch darauf hinaus, PYTHONUSERBASE in Ihre Umgebung zu exportieren.
export PYTHONUSERBASE=/myappenv
pip install --user SomePackage
oder in Windows (Powershell):
$env:PYTHONUSERBASE='C:\PythonPkgs'
pip install --user SomePackage
env, wie es der Fragesteller tut.