Pip: непоследовательные проблемы с разрешениями
При установке пакета через sudo pip-python
(пакет CentOS 6: python-pip-0.8-1.el6.noarch
) иногда возникают проблемы с правами доступа к установленным пакетам, доступным только для root.
Повторная установка снова один или два раза обычно устраняет проблему. Кто-нибудь испытал это? Или кто-нибудь может предложить какие-либо шаги по устранению неполадок, чтобы устранить причину?
Ответы
Ответ 1
Когда вы запустите команду с помощью sudo
, она сохранит пользователей umask
. pip
просто устанавливает файлы, он не изменяет права доступа, поэтому вы получите файлы, имеющие права доступа, соответствующие текущему пользователю umask, который может быть доступен только для чтения (0077) и поэтому читается только root.
Это означает, что перед запуском sudo pip install
вы можете установить umask на что-то разумное, например umask 0022
. Или используйте sudo su
, чтобы открыть корневую оболочку с настройками по умолчанию, а затем pip install
.
Ответ 2
Если вы используете pud с sudo, вам может понадобиться флаг sudo -H
-H, --set-home задает переменную HOME для целевого пользователя home dir
например
sudo -H pip install virtualenv