Установка и обновление pip и pipenv

10 марта 2021 г. 2:38

Сначала проверьте, установлен ли пакет pip устанавливается вместе с python (в версиях python 2 >= 2.7.9 и python 3 >= 3.4) ставится по умолчанию. Если pip не установлена, то установите:

sudo apt install python3-pip

Теперь нужно решить, куда вы хотите установить pipenv: можно в домашнюю папку, а можно в системную.

В большинстве случаев разницы нет, куда её установить, но иногда, если pipenv установлена в домашнюю папку, то могут возникнуть проблемы с использованием команд subprocess.Popen() или subprocess.check_output(): например, pipenv не сможет найти virtualenv. Конечно, можно просто и virtualenv установить в домашнюю папку и не забыть добавить путь в $PATH до домашней папки.

Но что pipenv, что virtualenv - это такие пакеты, смысл которых состоит в том, чтобы они были установлены глобально. Зачастую нет необходимости устанавливать их локально в домашнюю папку, то есть изолировать - они сами являются инструментом изоляции зависимостей для проектов.

Тем не менее разберём эти два способа.

Глобальная установка pipenv (рекомендуется)

Убедитесь, что удалён пакет через apt, если вдруг он был вами ранее установлен:

sudo apt purge pipenv
sudo apt autoremove

Теперь убедитесь, что у вас актуальная версия pip и установите pipenv:

sudo pip3 install --upgrade pip
sudo pip3 install pipenv

Локальная установка pipenv

Убедитесь, что удалён пакет через apt, если вдруг он был вами ранее установлен:

apt purge pipenv
apt autoremove

Теперь убедитесь, что у вас актуальная версия pip и установите pipenv:

pip3 install --upgrade pip
pip3 install pipenv

Обычно pip устанавливает пакеты в домашнюю папку, к примеру, по такому пути /home/[USER]/.local/lib/python3.8/site-packages/pipenv.

Чтобы системой подхватывались пакеты новых версий с домашней папки, а не те, что установлены в dist-packages по-умолчанию (примерно: /usr/lib/python3/dist-packages), добавьте путь в переменную окружения $PATH, указав пользователя [USER]:

echo "export PATH=\"/home/[USER]/.local/bin:\$PATH\"" >> ~/.bashrc
source ~/.bashrc

Иначе можно получить ошибку отсутствия пакета, например, при использовании subprocesssubprocess.Popen No such file or directory: pipenv.

[USER] - это ваше имя пользователя в Linux. Если вдруг забыли имя, введите в терминале команду whoami :)

Решение ошибок

Ошибки могут быть разного рода: все их сложно описать. В этом разделе буду дописывать ошибки, если будут появляться.

Некоторые часто путают локальную и глобальную установку - об этом написано выше. Но бывает даже так: человек хочет обновить pipenv и через файловый менеджер или терминал через sudo удаляет пакет pipenv, а затем устанавливает его локально, и из-за этого могут быть следующие ошибки:

  1. Отсутствия пакета: pkg_resources.DistributionNotFound или 
  2. Конфликт версий: pkg_resources.VersionConflict: (pipenv 2020.11.15 (/home/vivazzi/.local/lib/python3.8/site-packages), Requirement.parse('pipenv==11.9.0'))

Чтобы исправить эту ошибку, установите глобально pipenv, следуя инструкциям выше в разделе Глобальная установка pipenv.

Оцените статью

0 из 5 (всего 0 оценок)

captcha
Отмеченные звёздочкой поля ( * ) являются обязательными для заполнения.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице https://vivazzi.pro/it/install-update-pip-pipenv/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="https://vivazzi.pro/it/install-update-pip-pipenv/">https://vivazzi.pro/it/install-update-pip-pipenv/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь.

Но зарегистрировавшись, вы сможете:

  • получать оповещения об ответах
  • просматривать свои комментарии
  • иметь возможность использовать все функции разработанных сервисов

Для комментрирования от своего имени, войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте

Выберите валюту для отображения денежных единиц