Как использовать pip для разных версий Python?
У меня установлен python 2.7 и python 3.5.1 , как пользоваться pip для установки пакетов для каждой версии? И как запускать скрипты через консоль для каждой версии?
- Вопрос задан более трёх лет назад
- 11200 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 3
При установке python, в корневую директорию windows копируется py.exe. Запуская его с разными параметрами запускаются разные интерпретаторы:
Запуск python 2 идет по умолчанию:
py ваш_скрипт.py
или явно:
py -2 ваш_скрипт.py
Запуск python 3:
py -3 ваш_скрипт.py
Документация
py -2 -m pip install SomePackage # default Python 2 py -2.7 -m pip install SomePackage # specifically Python 2.7 py -3 -m pip install SomePackage # default Python 3 py -3.4 -m pip install SomePackage # specifically Python 3.4
Ответ написан более трёх лет назад
Нравится 5 1 комментарий
Как использовать pip для разных версий python?
Например, так: python3.8 -m pip , python3.7 -m pip . Или так: pip3 , pip2 . Всё зависит от того, как, куда и какие версии установлены.
16 мар 2020 в 13:10
@andreymal, окружения виртуального нету. Установлены на windows 10, скачаны с офиц сайта
16 мар 2020 в 13:14
@nomnoms12, пишет что python3.8 не является внутренней или внешней командой
16 мар 2020 в 13:16
А сейчас пип для какой версии ставит?
16 мар 2020 в 14:56
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Вызывайте pip через нужный python
/usr/local/bin/python3.8 -m pip install pip
Отслеживать
ответ дан 17 мар 2020 в 1:02
33.5k 3 3 золотых знака 26 26 серебряных знаков 60 60 бронзовых знаков
Можно еще через pip2 (для python 2.x) или pip3 (для python 3.x)
17 мар 2020 в 4:51
Pip2, pip3 бывают перепутаны если стоят несколько версий одной ветки, а если обновить с —user.
17 мар 2020 в 6:04
Вариант для Windows:
py -3.8 -m pip install package
Утилита py (Python Launcher) под Windows позволяет запускать разные версии python в зависимости от аргумента, т.е. например можно запустить скрипт из командной строки с помощью нужной версии:
py -3.8 script.py
Это примерно аналогично python3.8 script.py на Linux и других unix-подобных системах.
Установка конкретной версии пакета с помощью pip
Довольно часто разработчикам приходится установить определенную версию пакета в Python, а не последнюю доступную. Например, может возникнуть ситуация, когда в проекте используется старая версия пакета, и обновление до новой версии может вызвать проблемы совместимости.
Рассмотрим типичный пример. Представим, что есть необходимость установить версию пакета requests 2.18.4, а не последнюю доступную на текущий момент. При этом используется виртуальное окружение, созданное с опцией —no-site-packages , то есть в нем не установлены пакеты из глобального окружения Python.
pip install requests==2.18.4
Однако, после установки и проверки версии пакета обнаруживается, что установилась последняя версия, а не требуемая. В списке установленных пакетов видно requests-2.26.0-py3.8.egg-info , а не ожидаемый requests-2.18.4-py3.8.egg-info .
Это может быть связано с несколькими причинами. Возможно, для данного пакета не существует требуемой версии, или она некорректно указана в команде установки. Также может быть, что пакет установлен глобально, и при установке в виртуальное окружение используется его версия.
Для решения этой проблемы нужно сначала проверить, существует ли требуемая версия пакета. Это можно сделать на сайте PyPI или с помощью команды pip :
pip install requests==2.18.4
Если версия существует, но не устанавливается, можно попробовать удалить пакет из глобального окружения и повторить установку. Если же проблема не устраняется, возможно, стоит обратиться за помощью к сообществу разработчиков или авторам пакета.
Установка модулей Python¶
Как популярный проект разработки с открытым исходным кодом, Python имеет активное поддерживающее сообщество участников и пользователей, которые также делают свое программное обеспечение доступным для других разработчиков Python для использования на условиях лицензии с открытым исходным кодом.
Это позволяет Python пользователям эффективно обмениваться информацией и сотрудничать, извлекая выгоду из решений, которые другие уже создали для решения общих (а иногда даже редких!) проблем, а также потенциально внося свой вклад в создание общего пула.
В данном руководстве рассматривается часть процесса установки. Руководство по созданию и совместному использованию собственных проектов Python см. в руководстве по распространению .
Для корпоративных и других учрежденческих пользователей следует иметь в виду, что многие организации имеют свою собственную политику использования программного обеспечения с открытым исходным кодом и внесения вклада в него. Пожалуйста, учитывайте такие политики при использовании средств распространения и установки, поставляемых с Python.
Ключевые термины¶
- pip является предпочтительной программой установки. Начиная с версии Python 3.4, он по умолчанию входит в состав Python бинарных установщиков.
- виртуальная среда — это полуавтономная среда Python, которая позволяет устанавливать пакеты для использования определенным приложением, а не для установки в масштабах всей системы.
- venv является стандартным инструментом для создания виртуальных сред и является частью Python начиная с Python 3.3. Начиная с версии Python 3.4, по умолчанию устанавливается pip во все созданные виртуальные среды.
- virtualenv является сторонней альтернативой (и предшественником) venv . Он позволяет используемый виртуальные среды на версиях Python до 3.4, которые либо вообще не предоставляют venv , либо не могут автоматически устанавливать pip в созданные среды.
- Пакетный индекс Python является публичным хранилищем лицензионных пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.
- Комитет по пакетам в Python является группой разработчиков и авторов документации, ответственных за обслуживание и развитие стандартных средств пакетизации и связанных с ними стандартов метаданных и форматов файлов. Они поддерживают различные инструменты, документацию и трекеры проблем как на GitHub, так и на Bitbucket.
- distutils — это исходная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. В то время как прямое использование distutils постепенно прекращается, оно по-прежнему закладывает основу для нынешней инфраструктуры пакетизации и распространения, и оно не только остается частью стандартной библиотеки, но и его название живет по- другому (например, название списка рассылки используемый для координации Python разработки стандартов пакетизации).
Изменено в версии 3.5: Теперь для создания виртуальных сред рекомендуется использовать venv .
Базовое использование¶
Все стандартные инструменты пакетизации предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимостей из Пакетного индекса Python (PIP):
python -m pip install SomePackage
Для пользователей POSIX (включая пользователей Mac OS X и Linux) примеры в этом руководстве предполагают использование виртуальной среды .
Для пользователей Windows в примерах этого руководства предполагается, что при установке Python была выбрана опция настройки системной переменной среды PATH.
Также можно указать точную или минимальную версию непосредственно в командной строке. При использовании операторов сравнения, таких как > , < или некоторые другие специальные символы, которые интерпретируются оболочкой, имя пакета и версия должны быть заключены в двойные кавычки:
python -m pip install SomePackage==1.0.4 # конкретная версия python -m pip install "SomePackage>=1.0.4" # минимальная версия
Как правило, если подходящий модуль уже установлен, попытка его повторной установки не будет иметь никаких последствий. Необходимо явно запросить обновление существующих модулей:
python -m pip install --upgrade SomePackage
Дополнительную информацию и ресурсы, касающиеся pip и его возможностей, можно найти в Руководство пользователя пакетизации Python.
Создание виртуальных сред осуществляется через модуль venv . При установке пакетов в активную виртуальную среду используются команды, показанные выше.
Как я это делаю?¶
Это быстрые ответы или ссылки на некоторые общие задачи.
… установить pip в версиях Python до Python 3.4?¶
Python начал содержать pip только с Python 3.4. Для более ранних версий pip необходимо «загрузить», как описано в руководстве пользователя по пакетизации Python.
… устанавливать пакеты только для текущего пользователя?¶
Передача опции —user python -m pip install позволит установить пакет только для текущего пользователя, а не для всех пользователей системы.
… установить научные пакеты Python?¶
Ряд научных пакетов Python имеют сложные бинарные зависимости и в настоящее время нелегко установить с помощью pip напрямую. В данный момент пользователям будет проще установить эти пакеты другим способом, а не пытаться установить их с помощью pip .
… работать с несколькими версиями Python, установленных параллельно?¶
В Linux, Mac OS X и других системах POSIX используйте команды версионированного Python в сочетании с коммутатором -m для запуска соответствующей копии pip :
python2 -m pip install SomePackage # по умолчанию Python 2 python2.7 -m pip install SomePackage # конкретно Python 2.7 python3 -m pip install SomePackage # по умолчанию Python 3 python3.4 -m pip install SomePackage # конкретно Python 3.4
Также могут быть доступны команды pip с соответствующей версией.
В Windows используйте средство запуска py Python в сочетании с переключателем -m :
py -2 -m pip install SomePackage # по умолчанию Python 2 py -2.7 -m pip install SomePackage # конкретно Python 2.7 py -3 -m pip install SomePackage # по умолчанию Python 3 py -3.4 -m pip install SomePackage # конкретно Python 3.4
Распространенные проблемы установки¶
Установка в систему Python в Linux¶
В системах Linux Python установка обычно включается в дистрибутив. Установка в этот Python требует доступа root к системе и может помешать работе диспетчера пакетов системы и других компонентов системы, если компонент неожиданно обновлен с помощью pip .
В таких системах часто при установке пакетов с pip лучше использовать виртуальную среду или пользовательскую установку.
Pip не установлен¶
Возможно, что pip не будет установлен по умолчанию. Одним из возможных исправлений является:
python -m ensurepip --default-pip
Имеются также дополнительные ресурсы для установки pip.
Установка двоичных расширений¶
Python, как правило, в значительной степени полагается на распределение на основе сорцов, при этом конечные пользователи должны компилировать модули расширения из источника в рамках процесса установки.
С введением поддержки двоичного формата wheel , и возможностью публикации wheels по крайней мере для Windows и Mac OS X через Пакетный Индекс Python (PIP), эта проблема, как ожидается, со временем уменьшится, так как пользователи более регулярно могут устанавливать предварительно построенные расширения, а не должны строить их сами.
Некоторые решения для установки научное программное обеспечение, которые еще не доступны как предварительно собранные файлы wheel , могут также помочь с получением других двоичных расширений без необходимости их локальной сборки.
