Pip --user устанавливает пакет в каталог пользователя по умолчанию в Windows 10 - программирование
Подтвердить что ты не робот

Pip --user устанавливает пакет в каталог пользователя по умолчанию в Windows 10

У меня проблема в Windows 10, где установлены оба Python 2.6 и 2.7.

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

При запуске этой команды с помощью пользователя AutoUser он устанавливает каталог myPack to Default C:\Users\Default\Python\Python27\site-packages или C:\Users\Default\Appdata\Roaming\Python\site-packages вместо C:\Users\Autouser\AppData\Roaming\Python\сайт-пакеты

  • Установка выполняется автоматически после входа в систему Windows, но в журналах я могу видеть, что "запрос пользователя" возвращает строку с помощью AutoUser (перед вызовом pip).
  • У другой ОС нет этой проблемы.
  • Воспроизведение неустойчиво в Windows 10: возможно, 1 раз 100.
  • По правде говоря, на этих машинах также установлен python 2.6, но я не уверен, что это имеет смысл: 2.6 идет позже 2.7 в системной переменной Path. Здесь они пишут, что это может быть проблемой, но pip не путает версии python, это путает каталоги пользователей.

Дорожка:

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:

python --version
Python 2.7.13

Версия для пива:

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

Ответ 1

К сожалению, мне пришлось быстро решить проблему в производстве, поэтому я отказался и установил ее без опции --user в каталог c: /python27/.... Я думаю, что один из предложений @DeltaMarine101 поможет.

Ответ 2

Вы можете попробовать установить цель установки с --target опции --target например:

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

Если это не сработает, другой вариант - попробовать использовать параметр --install-option следующим образом:

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

Наконец, если все остальное не удается, вот еще один способ сделать это:

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

Вы можете указать, какую версию python установить для пакета, используя python2.x -m pip install...

Надеюсь, один из них поможет вам! :)