Зернышко указывает Ошибку на Ubuntu 16.04. И, venv пакеты появляются, когда среда деактивируется

Это идентично этому вопросу, но заголовок является неправильным. И, признаки более одиозны, чем объясненный в этом сообщении.

От обновления Ubuntu 14.04 до 16,04 - Зернышко показывает пакеты, установленные, пока в активной виртуальной среде, даже когда venv деактивируется.

Кроме того, когда установка зернышка пакета бросает эту ошибку:

The directory '/home/user/.cache/pip/http' or its parent directory is
not owned by the current user and the cache has been disabled. Please
check the permissions and owner of that directory. If executing pip
with sudo, you may want sudo's -H flag. The directory
'/home/user/.cache/pip' or its parent directory is not owned by the
current user and caching wheels has been disabled. check the
permissions and owner of that directory. If executing pip with sudo,
you may want sudo's -H flag.  

Я также получаю ошибку полномочий при выполнении pip install <package_name> Я могу обойти это с pip install --user <package_name>. И, sudo будет только работать как выше с -H опция.

Любое понимание или возможное закрепляют на этой ошибке, было бы большим!Заранее спасибо!

Ed

1
задан 13 April 2017 в 15:24

1 ответ

Я нашел ответ на проблему. Это происходит, потому что Virtualenv установлен с sudo, и pip/.cache файл принадлежит пользователю. Там некоторые пакеты потребуют доступа к sudo. Ниже информация о проблеме и ссылке. Я добавил слабоумное руководство ниже объяснения к этой ошибке.

  1. , Когда глобально установленные пакеты находятся на пути Python, и они конфликтуют с требованиями к установке, они проигнорированы и не удалены.
  2. , Когда глобально установленные пакеты находятся на пути Python, и они удовлетворяют требования к установке, зернышко ничего не делает и сообщает, что требование удовлетворено (подобный тому, как глобальные пакеты могут удовлетворить требования при установке пакетов в - системные пакеты сайта virtualenv).
  3. зернышко не будет работать - пользовательская установка в - no-site-packages virtualenv (т.е. вид по умолчанию virtualenv), из-за пользовательского сайта, не находящегося на пути Python. Установка была бы бессмысленна.
  4. В - системные пакеты сайта virtualenv, зернышко не установит пакет, который конфликтует с пакетом в virtualenv пакетах сайта. - пользовательская установка испытала бы недостаток в sys.path приоритете и была бы бессмысленна.
[еще 1121] информация может быть считана здесь https://pip.pypa.io/en/stable/user_guide/#user-installs.

Моя Фиксация

  1. Удаленный все пакеты проекта в ~/user/.cache. Который, где установлено 'неправильно' pip uninstall -r <path_to_project_requirements.txt> (N.B. префикс с sudo при необходимости).

  2. Удаленная Установка virtualenv sudo pip uninstall virtualenv

  3. virtualenv использование: pip --user install virtualenv. Который остановит проблемы владения. И, сохраните Вас от необходимости установить его глобально с sudo - Вы могли также использовать virtualenv обертку, которая, вероятно, сохранит Вас часть этой боли, но я не...

  4. Создают Ваш каталог проекта: mkdir <project> и входят в него cd project.

  5. virtualenv venv создают Вашу папку окружения для установки пакетов в . venv/bin/activate

  6. , продолжают установку проектных требований.

0
ответ дан 8 December 2019 в 08:10

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

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