Управление зависимостями Python: pip от основ до продвинутых приёмов
Основы работы с pip
Как установить пакет из PyPI самой простой командой?
Для установки пакета используется команда:
pip install package_nameкак добавить русский язык в python (добавление поддержки русского языка в python)
Например, установка популярного пакета requests:
pip install requestsPython настройки приложения (настройки приложения на python)
При успешной установке pip скачивает пакет и его зависимости, размещает их в site-packages интерпретатора Python. Если pip не найден, убедитесь, что Python добавлен в PATH или используйте python -m pip install package_name.
Проблема: pip: command not found. Решение: установите pip отдельно (на Windows через установщик Python, на Linux через пакетный менеджер sudo apt install python3-pip).
Как установить конкретную версию пакета?
Если нужно зафиксировать версию, добавьте двойной знак равенства и номер версии:
pip install requests==2.28.1
Python переменные окружения (переменные окружения в python)
Полезно для совместимости с проектом.
Ошибка: No matching distribution found for requests==2.28.1. Это означает, что указанная версия не существует на PyPI. Проверьте правильность номера.
Как обновить уже установленный пакет?
Используйте флаг --upgrade:
pip install --upgrade requestsPath python (путь к python)
Или сокращённо -U. Будет загружена последняя версия.
Как установить пакеты из файла requirements.txt?
Для проектов принято хранить список зависимостей:
pip install -r requirements.txtPython environment path (путь к окружению python)
Файл requirements.txt содержит строки вида package==version. Пример содержимого:
flask==2.3.2
requests==2.31.0
numpyPython windows paths (работа с путями в python на windows)
Как установить пакет в режиме разработчика (editable)?
Если у вас локальная директория с пакетом (например, с setup.py):
pip install -e /path/to/packagePython файлы настроек (файлы конфигурации в python)
Изменения в коде сразу становятся доступны без переустановки. Удобно при разработке собственных библиотек.
Как установить пакет из репозитория GitHub?
Можно напрямую указать URL репозитория:
pip install git+https://github.com/author/repo.gitOpen python 2 (запуск python 2)
Или с указанием ветки:
pip install git+https://github.com/author/repo.git@branch_namePython online interpreter (онлайн интерпретатор python)
Как установить пакет из локального wheel файла?
Wheel это формат дистрибутива Python. Скачав .whl файл, установите командой:
pip install package_name-version.whlUsing python pip (установка пакетов через pip в python)
Например:
pip install numpy-1.24.3-cp311-cp311-win_amd64.whlPython interpreter (интерпретатор python)
Убедитесь, что wheel совместим с вашей версией Python и операционной системой.
Как установить пакеты в виртуальное окружение?
Сначала создайте окружение, затем активируйте его, после чего pip будет устанавливать пакеты только внутри этого окружения:
python -m venv myenv
source myenv/bin/activate # Linux/Mac
myenv\Scripts\activate # Windows
pip install flaskРасширенные примеры использования pip
pip install --no-cache-dir pandasУстановка без использования кэша. Полезно при проблемах с повреждённым кэшем.
pip install --no-deps requestsУстановить только сам пакет без зависимостей (не рекомендуется, но может пригодиться для тестов).
pip install --index-url https://test.pypi.org/simple/ mytestpackageУстановка из альтернативного репозитория (TestPyPI).
pip install --extra-index-url https://private.repo.com/simple myprivatepackageДобавление дополнительного индекса помимо основного PyPI. Используется для корпоративных репозиториев.
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org packageОбход ошибок сертификатов (небезопасно, только для изолированных сетей).
pip install --find-links /path/to/local/dir packageУстановка из локальной директории, содержащей .whl или .tar.gz файлы.
Пример вывода команды pip install requests (сокращён):
Collecting requests Downloading requests-2.31.0-py3-none-any.whl (62 kB) Requirement already satisfied: idna<4,>=2.5 in ... Installing collected packages: requests Successfully installed requests-2.31.0
Как получить список установленных пакетов с версиями:
pip listПример вывода:
Package Version ---------- ------- click 8.1.7 Flask 2.3.2 pip 23.2.1 setuptools 68.0.0
Проверить, какие пакеты устарели:
pip list --outdatedБолее подробная информация о конкретном пакете:
pip show flaskПример вывода:
Name: Flask Version: 2.3.2 Requires: Jinja2, MarkupSafe, click, itsdangerous ...
Как выгрузить зависимости проекта в requirements.txt:
pip freeze > requirements.txtУстановка пакетов из GitHub с указанием конкретного коммита:
pip install git+https://github.com/psf/requests.git@v2.31.0Удаление пакета:
pip uninstall requestsБезопасная установка с проверкой целостности через хеш (требуется файл hashes):
pip install --require-hashes -r requirements.txtЕсли в файле requirements.txt указаны хеши для каждого пакета.