Когда я использую sudo pip для установки программного обеспечения, я получаю сообщение & ldquo; каталог & hellip; не принадлежит текущему пользователю & rdquo;

Каталог «/home/bijay/.cache/pip/http» или его родительский каталог не принадлежат текущему пользователю, и кэш отключен. Пожалуйста, проверьте разрешения и владельца этого каталога. Если вы выполняете pip с помощью sudo, вам может потребоваться флаг sudo -H.

Но программное обеспечение установлено. Я просто хочу знать, что, черт возьми, выше ошибка означает.

Например: -

 When I tried to install pandas, it goes like this..

6
задан 3 January 2018 в 09:36

2 ответа

Когда Вы работаете sudo Ваша среда проведена, в то время как эффективный пользователь переключается на корень. Ваша среда включает это Ваш ~/ или корневой каталог (значение переменной среды HOME) /home/bijay.

pip ищет http кэш прежде, чем загрузить пакеты. Вероятно, для комбинации безопасности, исправности и причин конфиденциальности зернышко отключает кэш, чтобы не записать в каталог кэша, не принадлежавший текущему пользователю. Это просто говорит Вам, что сделало это.

Поскольку это подсказывает, с помощью sudo -H установил бы HOME переменная среды прежде, чем выполнить команду передала sudo, использование корневого каталога корня /root как $HOME вместо Вашего пользователя. Кэш мог затем быть записан в /root/.cache/pip/http без ошибок.

Как заметка на полях, Вы, вероятно, не должны работать pip как базируются так или иначе.

9
ответ дан 23 November 2019 в 07:37

Это работало на меня:

$ sudo chown -R root /home/$USERNAME/.cache/pip/
$ sudo chown -R root /home/$USERNAME/.cache/pip/http/

Примечание: Используйте этот путь, только если Вы всегда используете pip как корень. Иначе pip может не использовать каталоги кэша, так как они принадлежат root.

-1
ответ дан 23 November 2019 в 07:37

Другие вопросы по тегам:

Похожие вопросы: