Поскольку никто не упомянул pipenv здесь, я хотел бы описать свои взгляды, почему все должны использовать его для управления пакетами Python.
Как упомянул @ColonelPanic, существует несколько проблем с индексом пакетов Python и pip и virtualenv .
Pipenv решает большинство проблем с pip, а также предоставляет дополнительные функции.
Особенности Pipenv
Pipenv предназначен для замены pip и virtualenv, что означает, что pipenv автоматически создаст отдельную виртуальную среду для каждого проекта, что позволит избежать конфликтов между различными версиями Python / версиями пакетов для разных проектов.
- Включает действительно детерминированные сборки, в то же время легко определяя только то, что вам нужно.
- Генерирует и проверяет хэши файлов на наличие заблокированных зависимостей.
- Автоматическая установка необходимых питонов, если доступен pyenv.
- Автоматически находит ваш проект дома, рекурсивно, при поиске Pipfile.
- Автоматически генерирует Pip-файл, если таковой не существует.
- Автоматически создает virtualenv в стандартном местоположении.
- Автоматически добавляет / удаляет пакеты в Pipfile, когда они не установлены / установлены.
- Автоматически загружает файлы .env, если они существуют.
Если вы раньше работали над проектами Python, вы бы поняли, что эти функции упрощают управление пакетами.
Другие команды
check
проверяет уязвимости безопасности и утверждает, что текущая среда соответствует требованиям PEP 508. (, что, на мой взгляд, является отличной функцией, особенно после этого - Вредоносные пакеты на PyPi )
graph
покажет вам график зависимостей ваших установленных зависимостей.
Подробнее об этом можно прочитать здесь - Pipenv .
Установка
Вы можете найти документацию по установке здесь
PS: Если вам понравилась работа с пакетом Python запросов , вам будет приятно узнать, что pipenv от того же разработчика Kenneth Reitz