Установка и обновление pip и pipenv
10 марта 2021 г. 7: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
Иначе можно получить ошибку отсутствия пакета, например, при использовании subprocess: subprocess.Popen No such file or directory: pipenv
.
[USER]
- это ваше имя пользователя в Linux. Если вдруг забыли имя, введите в терминале команду whoami
:)
Решение ошибок
Ошибки могут быть разного рода: все их сложно описать. В этом разделе буду дописывать ошибки, если будут появляться.
Некоторые часто путают локальную и глобальную установку - об этом написано выше. Но бывает даже так: человек хочет обновить pipenv и через файловый менеджер или терминал через sudo
удаляет пакет pipenv, а затем устанавливает его локально, и из-за этого могут быть следующие ошибки:
- Отсутствия пакета:
pkg_resources.DistributionNotFound
или - Конфликт версий:
pkg_resources.VersionConflict: (pipenv 2020.11.15 (/home/vivazzi/.local/lib/python3.8/site-packages), Requirement.parse('pipenv==11.9.0'))
Чтобы исправить эту ошибку, установите глобально pipenv, следуя инструкциям выше в разделе Глобальная установка pipenv.
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0