Ubuntu PIP устанавливает пакеты глобально, а не внутри VirtualEnv

Я пытаюсь создать virtualenv и установить пакеты из файла needs.txt, которые у меня есть в проекте.

Когда я создаю среду, я проверяю, что питон и пип действительно происходят из этой среды. А именно, когда я запускаю:

source ./virtualenv/bin/activate

which pip

which python

я получаю результаты, которые указывают на двоичные файлы, расположенные внутри Каталог virtualenv

Затем я приступаю к установке пакетов: pip install -r requirements.txt

Некоторое время у меня возникали проблемы с линией pkg-resources=0.0.0 в файле require.txt. Как оказалось, эта строка вводится в этот файл из-за ошибки в Ubuntu. Как вы можете догадаться, я создал этот файл на машине с Ubuntu.

Как только я вычеркнул линию, установка продолжается.

Однако, когда я запускаю список pip после установки, список содержит только

pip (8.1.1) pkg-resources (0.0.0) setuptools (20.7.0)

Более того, если я деактивирую virtualenv и запускаю список пипсов глобально, я вижу, что все зависимости были установлены глобально.

1118 Здесь есть два вопроса. Один - это самый отвратительный - почему это происходит? Второй - как я могу очистить свои глобальные пакеты и удалить загрязнители, которые сейчас там находятся?

Приложение:

Еще одно странное поведение состоит в следующем. Когда я пытаюсь запустить sudo pip uninstall -r requirements.txt изнутри virtualenv в надежде отменить глобальную установку, я получаю следующую ошибку:

Невозможно удалить требование aldryn-apphooks-config, не установлено

< / blockquote>

То есть, кажется, что когда я пытаюсь удалить, pip пытается найти пакеты внутри virtualenv.

С другой стороны, когда я деактивирую virtualenv, я могу успешно удалить пакеты из глобальной установки с помощью той же команды.

Так или иначе, существует разница в том, как команда pip install работает в Ubuntu по сравнению с командой pip uninstall. Они «ищут» посылки в разных местах.

2
задан 27 October 2018 в 15:21

0 ответов

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

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