Установка и обновление pip и pipenv
Сначала проверьте, установлен ли пакет 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.
Как обновить pip?
Статья с подробным руководством по обновлению пакетного менеджера pip.
Введение
PyPI (аббр. от англ. Python Package Index — «каталог пакетов Python») — каталог программного обеспечения, написанного на языке программирования Python. В сочетании с системами управления библиотечными пакетами (pip, easy_install) аналогичен PEAR для PHP и CPAN для Perl. По состоянию на февраль 2020 года содержит более 216 000 пакетов, тогда как в 2010 году пакетов было всего около 10000.
Установка
Предлагаю опустить момент установки pip и считать что он у вас уже установлен. Еще хотелось бы обратить внимание, что в разных операционных системах pip запускается по разному — pip или pip3. При использование виртуальных окружений создаются символические ссылки на оба варианта.
Текущая версия
Для этого достаточно выполнить команду pip show pip

На момент написания статьи я использую версию pip 20.1.1, давайте проверим, есть ли в репозитории версия свежее.
Выполняем команду — pip search pip | grep «INSTALLED:»

К сожалению нет, я использую последнюю версию pip.
Обновление
Но для чистоты эксперимента у меня есть виртуальная машина с Fedora Linux для всяких тестерских нужды, давайте проверим какая версия pip находится у меня там.

Как видим у нас используется версия 19.3.1, давайте попробуем его обновить. Чтобы выполнить обновление достаточно ввести команду в терминал
pip install —upgrade pip или более короткий вариант pip install -U pip

Заключение
На этом обновление pip в Python подошло к концу, если у вас возникли дополнительные вопросы — не стесняйтесь задавать их в комментариях.
Как обновить пакет pip из git?
Я установил пакет с помощью pip из git
pip install git+
Затем сделал коммит в этот пакет и попытался обновить через pip
pip install —upgrade git+
Но, пакет не изменился
Подскажите, как сделать правильно?
Сам пакет https://gitlab.com/choose-your-url/pckg-prj
Логи pip при выполнении —upgrade:
Collecting git+https://gitlab.com/choose-your-url/pckg-prj.git Cloning https://gitlab.com/choose-your-url/pckg-prj.git to /tmp/pip-req-build-y4_2n445 Running command git clone --filter=blob:none --quiet https://gitlab.com/choose-your-url/pckg-prj.git /tmp/pip-req-build-y4_2n445 Resolved https://gitlab.com/choose-your-url/pckg-prj.git to commit 889b88b4283c9e1db26c8aa67bb9f92dab378741 Preparing metadata (setup.py) . done
- Вопрос задан более года назад
- 195 просмотров
5 комментариев
Простой 5 комментариев

ну вам в команда выдала логи что было сделано, надо бы приложить их, а так как нам гадать обновилось но для другого виртуального окружения, или обновилось но там изменения нет, или еще что-то
PesyCorm @PesyCorm Автор вопроса
PesyCorm @PesyCorm Автор вопроса
Влад Григорьев, уточню: виртуального окружения нет, все делал в чистом докер-контейнере
root@af6f3883cb6d:/# pip freeze env123 @ git+https://gitlab.com/choose-your-url/pckg-prj.git@cae7736c0c64b2f4d46112f5dc602e9af5606d29

PesyCorm, если указывать конкретный хэш коммита, то и обновляться на более свежие логично что не будет
или не указывайте или используйте тэги для версий
PesyCorm @PesyCorm Автор вопроса
Влад Григорьев, я его не указывал
root@5a80fce53132:/# pip install git+https://gitlab.com/choose-your-url/pckg-prj.git Collecting git+https://gitlab.com/choose-your-url/pckg-prj.git Cloning https://gitlab.com/choose-your-url/pckg-prj.git to /tmp/pip-req-build-tw_p8qqr Running command git clone -q https://gitlab.com/choose-your-url/pckg-prj.git /tmp/pip-req-build-tw_p8qqr Resolved https://gitlab.com/choose-your-url/pckg-prj.git to commit 889b88b4283c9e1db26c8aa67bb9f92dab378741 Building wheels for collected packages: env123 Building wheel for env123 (setup.py) . done Created wheel for env123: filename=env123-0.1.0-py3-none-any.whl size=1275 sha256=6c68e334d6668079c11dd3de675bc5582a788676284b0c096ad81aa6049b2040 Stored in directory: /tmp/pip-ephem-wheel-cache-1mk6jxqc/wheels/15/72/b4/bcfe81ea9b9a8421f4337a22683a99295cd852efea659cf399 Successfully built env123 Installing collected packages: env123 Successfully installed env123-0.1.0 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv WARNING: You are using pip version 21.2.4; however, version 22.1.2 is available. You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command. root@5a80fce53132:/# pip freeze env123 @ git+https://gitlab.com/choose-your-url/pckg-prj.git@889b88b4283c9e1db26c8aa67bb9f92dab378741
Установка PIP для Python и базовые команды
Как любой серьёзный язык программирования, Python поддерживает сторонние библиотеки и фреймворки. Их устанавливают, чтобы не изобретать колесо в каждом новом проекте. Необходимы пакеты можно найти в центральном репозитории Python — PyPI (Python Package Index — каталог пакетов Python).
Однако скачивание, установка и работа с этими пакетами вручную утомительны и занимают много времени. Именно поэтому многие разработчики полагаются на специальный инструмент PIP для Python, который всё делает гораздо быстрее и проще.
Что такое PIP для Python?
Сама аббревиатура — рекурсивный акроним, который на русском звучит как “PIP установщик пакетов” или “Предпочитаемый установщик программ”. Это утилита командной строки, которая позволяет устанавливать, переустанавливать и деинсталлировать PyPI пакеты простой командой pip .
Если вы когда-нибудь работали с командной строкой Windows и с терминалом на Linux или Mac и чувствуете себя уверенно, можете пропустить инструкции по установке.
Устанавливается ли PIP вместе с Python?
Если вы пользуетесь Python 2.7.9 (и выше) или Python 3.4 (и выше), PIP устанавливается вместе с Python по умолчанию. Если же у вас более старая версия Python, то сначала ознакомьтесь с инструкцией по установке.
Правильно ли Python установлен?
Вы должны быть уверены, что Python должным образом установлен на вашей системе. На Windows откройте командную строку с помощью комбинации Win+X . На Mac запустите терминал с помощью Command+пробел , а на Linux – комбинацией Ctrl+Alt+T или как-то иначе именно для вашего дистрибутива.
Затем введите команду:
python --version
На Linux пользователям Python 3.x следует ввести:
python3 --version
Если вы получили номер версии (например, Python 2.7.5 ), значит Python готов к использованию.
Если вы получили сообщение Python is not defined (Python не установлен), значит, для начала вам следует установить Python. Это уже не по теме статьи. Подробные инструкции по установке Python читайте в теме: Скачать и установить Python.
Как установить PIP на Windows.
Следующие инструкции подойдут для Windows 7, Windows 8.1 и Windows 10.
- Скачайте установочный скрипт get-pip.py. Если у вас Python 3.2, версия get-pip.py должны быть такой же. В любом случае щелкайте правой кнопкой мыши на ссылке и нажмите “Сохранить как…” и сохраните скрипт в любую безопасную папку, например в “Загрузки”.
- Откройте командную строку и перейдите к каталогу с файлом get-pip.py.
- Запустите следующую команду: python get-pip.py
Как установить PIP на Mac
Современные версии Mac идут с установленными Python и PIP. Так или иначе версия Python устаревает, а это не лучший вариант для серьёзного разработчика. Так что рекомендуется установить актуальные версии Python и PIP.
Если вы хотите использовать родную систему Python, но у вас нет доступного PIP, его можно установить следующей командой через терминал:
sudo easy_install pip
Если вы предпочитаете более свежие версии Python, используйте Homebrew. Следующие инструкции предполагают, что Homebrew уже установлен и готов к работе.
Установка Python с помощью Homebrew производится посредством одной команды:
brew install python
Будет установлена последняя версия Python, в которую может входить PIP. Если после успешной установки пакет недоступен, необходимо выполнить перелинковку Python следующей командой:
brew unlink python && brew link python
Как установить PIP на Linux
Если у вас дистрибутив Linux с уже установленным на нем Python, то скорее всего возможно установить PIP, используя системный пакетный менеджер. Это более удачный способ, потому что системные версии Python не слишком хорошо работают со скриптом get-pip.py, используемым в Windows и Mac.
Advanced Package Tool (Python 2.x)
sudo apt-get install python-pip
Advanced Package Tool (Python 3.x)
sudo apt-get install python3-pip
pacman Package Manager (Python 2.x)
sudo pacman -S python2-pip
pacman Package Manager (Python 3.x)
sudo pacman -S python-pip
Yum Package Manager (Python 2.x)
sudo yum upgrade python-setuptools sudo yum install python-pip python-wheel
Yum Package Manager (Python 3.x)
sudo yum install python3 python3-wheel
Dandified Yum (Python 2.x)
sudo dnf upgrade python-setuptools sudo dnf install python-pip python-wheel
Dandified Yum (Python 3.x)
sudo dnf install python3 python3-wheel
Zypper Package Manager (Python 2.x)
sudo zypper install python-pip python-setuptools python-wheel
Zypper Package Manager (Python 3.x)
sudo zypper install python3-pip python3-setuptools python3-wheel
Как установить PIP на Raspberry Pi
Как пользователь Raspberry, возможно, вы запускали Rapsbian до того, как появилась официальная и поддерживаемая версия системы. Можно установить другую систему, например, Ubuntu, но в этом случае вам придётся воспользоваться инструкциями по Linux.
Начиная с Rapsbian Jessie, PIP установлен по умолчанию. Это одна из серьёзных причин, чтобы обновиться до Rapsbian Jessie вместо использования Rapsbian Wheezy или Rapsbian Jessie Lite. Так или иначе, на старую версию, все равно можно установить PIP.
sudo apt-get install python-pip
sudo apt-get install python3-pip
На Rapsbian для Python 2.x следует пользоваться командой pip, а для Python 3.x — командой pip3 при использовании команд для PIP.
Как обновить PIP для Python
Пока PIP не слишком часто обновляется самостоятельно, очень важно постоянно иметь свежую версию. Это может иметь значение при исправлении багов, совместимости и дыр в защите.
К счастью, обновление PIP проходит просто и быстро.
python -m pip install -U pip
Для Mac, Linux, или Raspberry Pi:
pip install -U pip
На текущих версиях Linux и Rapsbian Pi следует использовать команду pip3.
Как устанавливать библиотеки Python с помощью PIP
Если PIP работоспособен, можно начинать устанавливать пакеты из PyPI:
pip install package-name
Установка определённой версии вместо новейшей версии пакета:
pip install package-name==1.0.0
Поиск конкретного пакета:
pip search "query"
Просмотр деталей об установленном пакете:
pip show package-name
Список всех установленных пакетов:
pip list
Список всех устаревших пакетов:
pip list --outdated
Обновление устаревших пакетов:
pip install package-name --upgrade
Следует отметить, что старая версия пакета автоматически удаляется при обновлении до новой версии.
Полностью переустановить пакет:
pip install package-name --upgrade --force-reinstall
Полностью удалить пакет:
pip uninstall package-name
