Pip – это менеджер пакетов Python. Он используется по всему миру для установки и управления библиотеками и зависимостями для проектов с различными требованиями. Как мы узнали из нашего руководства по NVM, для разных проектов требуются определенные версии библиотек. Это необходимо для обеспечения совместимости, поддержания согласованности и предотвращения конфликтов как в производственной среде, так и в среде разработки. В Pip установка определенной версии очень проста. Pip позволяет вам контролировать точную версию пакета Python, используемую в ваших проектах. Сегодня мы расскажем вам о том, как с помощью Pip установить определенную версию пакета python, на нескольких примерах.
Почему вам может понадобиться определенная версия?
В Pip установка определенной версии пакета становится необходимой в таких ситуациях, как:
- Поддержание согласованного окружения: Чтобы ваш код вел себя как положено в производственной среде и в среде разработки, желательно использовать одну и ту же версию пакета.
- Совместимость с несколькими версиями: Возможно, есть несколько проектов, которые зависят от конкретных версий библиотек, содержащих специфические особенности и функциональные возможности.
- Конфликты из-за зависимостей: Некоторые старые проекты могут столкнуться с разрывами в работе с последними версиями библиотек. Использование стабильной версии помогает избежать конфликтов зависимостей.
Основной синтаксис для установки определенной версии с помощью Pip
Вот основной синтаксис Pip для установки определенной версии пакета:
pip install PackageName==VersionNumber
Например, давайте попробуем установить версию 1 пакета numpy. Вот команда для этого:
pip install numpy==1.18.0
Во всех остальных командах обычно используется один знак равенства. Двойной знак равенства, упомянутый здесь, указывает Pip на установку именно той версии, которую вы указали. Выполнение этой команды игнорирует более новые доступные версии и устанавливает версию, которую мы указали в команде.
Подробное руководство по установке определенной версии
Здесь представлено пошаговое руководство по установке определенной версии пакета с помощью Pip.
Как проверить доступные версии
Прежде чем завершить работу над версией, важно сначала узнать, какие версии доступны для загрузки. Чтобы просмотреть список всех версий пакета, выполните команду:
pip install PackageName==
После выполнения этой команды pip выводит список всех доступных версий. Для примера попробуем написать команду, чтобы перечислить все доступные версии numpy:
pip install numpy==
На выходе мы получим список всех версий numpy, которые могут быть установлены. Это поможет вам выбрать ту версию, которая больше всего подходит для вашего проекта.
Шаги по установке нужной версии
Теперь, когда мы перечислили все доступные версии, следующим шагом будет определение версии, которую мы хотим установить. Мы можем использовать команду pip для установки определенных версий.
pip install PackageName==VersionNumber
Например, если вы хотите установить версию 1.18.0 numpy, выполните команду:
pip install requests==2.25.0
Проверка версии установленного пакета
После установки вы можете использовать pip для проверки установленной версии. Синтаксис для проверки версии следующий:
pip show PackageName
Давайте снова возьмем пакет numpy, чтобы лучше понять эту команду. Чтобы узнать версию установленного numpy, выполните команду:
pip show requests
В результате вы увидите подробную информацию о пакете numpy, которая включает также установленную версию.
Несколько примеров использования Pip для установки определенных версий
Теперь, когда мы изучили базовый синтаксис, давайте посмотрим несколько практических примеров, в которых мы используем pip для установки определенных версий пакетов, обычно используемых в проектах Python.
Как установить определенную версию Django
Допустим, ваш проект требует установки Django версии 3.1.0. Используя Pip, установите определенную версию Django, выполнив команду:
pip install django==3.1.0
Важно отметить, что выполнение этой команды устанавливает только версию 3.1.0, даже если доступна более новая версия.
Как установить определенную версию Flask
Чтобы установить Flask версии 1.1.1, выполните команду:
pip install flask==1.1.2
Как объяснялось ранее, выполнение этой команды приводит к установке указанной в команде версии, даже если существуют более новые версии.
Как установить несколько пакетов с определенными версиями
В случаях, когда вам нужно установить несколько пакетов Python, вам не нужно ждать и выполнять по одной команде для каждого пакета. С помощью Pip вы можете установить определенные версии пакетов сразу для нескольких пакетов. Давайте разберемся в этом на примере.
Если вы хотите установить версию 1.18.0 пакета numpy и версию 3.1.0 пакета Django одновременно, выполните команду:
pip install numpy==1.18.0 django==3.10
Замените имена пакетов и их версии на выбранные вами пакеты и версии. Приведенная выше команда устанавливает сразу оба пакета numpy и Django.
Лучшие практики управления пакетами с помощью Pip
Чтобы ваша установка управлялась лучше, была организована и избегала конфликтов, мы предлагаем вам несколько лучших практик.
- Минимизируйте использование sudo с pip: Всегда устанавливайте пакеты локально или в практически замкнутом окружении. Зарезервируйте sudo для установки всей системы.
- Проверяйте совместимость перед установкой: Всегда тестируйте обновления пакетов в отдельной среде, чтобы убедиться в их совместимости.
- Периодически проверяйте зависимости: Планируйте проверку зависимостей пакетов, особенно когда вы обновляете пакеты.
- Предпочитайте виртуальные среды: Лучше создавать виртуальные изолированные среды для каждого проекта, чтобы избежать нежелательных проблем с зависимостями.
Заключение
Вы можете работать как на домашней лаборатории, так и с командой в корпоративной системе, где вам придется управлять определенными версиями пакетов. Pip – ваш надежный друг в таких ситуациях. Одна из лучших практик – использование файла requirements.txt для предотвращения конфликтов, упрощения репликации и использования виртуальных сред. Используйте pip для установки определенных версий пакетов и удобного управления пакетами Python.
Комментарии (0)