it-swarm.com.de

Pip -user installiert das Paket im Standardbenutzerverzeichnis unter Windows 10

Ich habe ein Problem unter Windows 10, wo sowohl Python 2.6 als auch 2.7 installiert sind.

python -m pip install myPack --no-index --find-links=. --user

Wenn Sie diesen Befehl mit Benutzer AutoUser ausführen, wird myPack in Standard Benutzerverzeichnis C:\Users\Default\Python\Python27\site-packages oder C:\installiert. Benutzer\Standard\Appdata\Roaming\Python\Site-Packages stattdessen C:\Users\Autouser\Appdata\Roaming\Python\Site-Packages

  • Die Installation erfolgt kurz nach der Windows-Anmeldung automatisch, aber ich kann in Protokollen sehen, dass "query user" eine Zeile mit AutoUser (vor dem Aufruf von pip) zurückgibt.
  • Andere Betriebssysteme haben dieses Problem nicht. 
  • Die Wiedergabe ist unter Windows 10 instabil: möglicherweise 1 mal 100. 
  • Die Wahrheit, dass Python 2.6 auch auf diesen Computern installiert ist, aber ich bin nicht sicher, ob es sinnvoll ist: 2.6 geht in der Systemvariable Path nach 2.7. Hier Sie schreiben, es könnte ein Problem sein, aber pip verwirrt die Python-Versionen nicht, es verwirrt die Verzeichnisse der Benutzer.

Pfad: 

C:\ProgramData\Oracle\Java\javapath;C:\Python27\;C:\Python27\Scripts\;C:\Python26\;C:\Python26\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;

Python-Version:

python --version
Python 2.7.13

Pip Version:

python -m pip --version
Pip version: pip 9.0.1 from C:\Python27\lib\site-packages (python 2.7) 
15
flam3

Leider musste ich das Problem in der Produktion schnell beheben, also habe ich es aufgegeben und ohne die Option --user im Verzeichnis c:/python27/... installiert. 

0
flam3

Sie können versuchen, das Installationsziel mit der Option --target wie folgt festzulegen:

pip install --target=C:\Users\Autouser\Appdata\Roaming\Python\site-packages package_name

Wenn dies nicht funktioniert, können Sie --install-option wie folgt verwenden:

pip install --install-option="--prefix=$PREFIX_PATH" package_name

Wenn alles andere fehlschlägt, gibt es noch einen weiteren Weg:

PYTHONUSERBASE=/path/to/install/to pip install --user

Sie können angeben, für welche Python-Version das Paket installiert werden soll, indem Sie python2.x -m pip install ... verwenden.

Hoffentlich hilft dir einer davon! :)

2
DeltaMarine101