web-dev-qa-db-fra.com

Pip --user installe le paquet dans le répertoire utilisateur par défaut sous Windows 10

J'ai un problème sous Windows 10 où Python 2.6 et 2.7 sont installés.

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

Lors de l'exécution de cette commande avec l'utilisateur AutoUser, il installe myPack sur par défaut répertoire utilisateur C:\Users\Default\Python\Python27\site-packages ou C:\Utilisateurs\Default\Appdata\Roaming\Python\site-packages à la place C:\Users\Autouser\Appdata\Roaming\Python\site-packages

  • L'installation est automatique peu de temps après l'ouverture de session Windows, mais je peux voir dans les journaux que "l'utilisateur de la requête" renvoie une ligne avec AutoUser (avant d'appeler pip).
  • Les autres OS n'ont pas ce problème. 
  • La reproduction est instable sous Windows 10: peut-être 1 fois sur 100. 
  • La vérité est que python 2.6 est également installé sur ces machines, mais je ne suis pas sûr que cela ait un sens: la version 2.6 passe au-delà de 2.7 dans la variable système Path. Ici ils écrivent que cela pourrait être un problème, mais pip ne confond pas les versions de python, il confond les répertoires des utilisateurs.

Chemin: 

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;

Version Python:

python --version
Python 2.7.13

Version Pip:

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

Malheureusement, je devais régler le problème rapidement en production, aussi j’ai abandonné et installé sans l’option --user dans le répertoire c:/python27/... .. Je suppose qu’une des suggestions de @ DeltaMarine101 pourrait aider. 

0
flam3

Vous pouvez essayer de définir la cible d'installation avec l'option --target comme suit:

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

Si cela ne fonctionne pas, une autre option consiste à essayer d'utiliser --install-option comme ceci:

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

Enfin, si tout échoue, voici une autre façon de le faire:

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

Vous pouvez spécifier la version de python pour laquelle installer le package à l'aide de python2.x -m pip install ....

J'espère que l'un d'eux vous aidera! :)

2
DeltaMarine101