Как справиться с несколькими версиями Python и PIP?
Существует ли способ заставить pip корректно работать с несколькими версиями Python? Например, я хочу использовать pip для явной установки пакетов либо в установку Python 2.5, либо в установку Python 2.6.
Например, с easy_install я использую easy_install-2.{5,6}.
И да — я знаю о virtualenv, и нет — это не решение для данной проблемы.
5 ответ(ов)
Чтобы ваша команда /path/to/python2.{5,6} /path/to/pip install PackageName работала, на версиях Python, где pip еще не установлен, вам нужно сначала загрузить pip и выполнить команду python*версия* setup.py install. Например, это будет выглядеть как python3.3 setup.py install. Это решит проблему с ошибкой импорта, о которой упоминается в комментариях. (Как предложил @hbdgaf)
У меня по умолчанию была установлена Python 2.6 (в AMI Amazon EC2), но мне понадобился Python 2.7, а также некоторые внешние пакеты для моего приложения. Предполагая, что вы уже установили Python 2.7 вместе с версией по умолчанию (в моем случае это 2.6), вот как установить pip и необходимые пакеты для неумолчательной версии Python 2.7.
Установите pip для вашей версии Python:
curl -O https://bootstrap.pypa.io/get-pip.py
python2.7 get-pip.py
Используйте конкретную версию pip для установки пакетов:
pip2.7 install mysql-connector-python --allow-external mysql-connector-python
Таким образом, вы сможете управлять пакетами для Python 2.7 отдельно от версии по умолчанию.
Это сработало для меня в Windows следующим образом:
Я изменил названия файлов python.py и pythonw.exe на python3.py и pythonw3.py соответственно.
Затем я просто выполнил следующую команду в командной строке:
python3 -m pip install package
Другие ответы показывают, как использовать pip с Python 2.X и 3.X, но не охватывают случай с несколькими дистрибутивами Python (например, оригинальный Python и Anaconda Python).
У меня установлено три версии Python: оригинальный Python 2.7 и Python 3.5, а также Anaconda Python 3.5. Вот как можно установить пакет для каждой из версий:
Для оригинального Python 3.5:
/usr/bin/python3 -m pip install python-daemonДля оригинального Python 2.7:
/usr/bin/python -m pip install python-daemonДля Anaconda Python 3.5:
python3 -m pip install python-daemonИли
pip3 install python-daemonЭто более просто, так как Anaconda переопределяет оригинальные бинарники Python в пользовательской среде.
Конечно, для установки в Anaconda следует использовать команду
conda, это просто пример.
Также убедитесь, что pip установлен для конкретной версии Python. Возможно, вам придется установить pip вручную. На Ubuntu 16.04 это можно сделать следующим образом:
sudo apt-get install python-pip
или
sudo apt-get install python3-pip
Чтобы установить пакеты для различных версий Python, установленных одновременно на операционных системах Linux, macOS и POSIX, вы можете использовать следующие команды:
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
python3.5 -m pip install SomePackage # конкретно Python 3.5
python3.6 -m pip install SomePackage # конкретно Python 3.6
На Windows вы можете использовать загрузчик Python py в сочетании с ключом -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, если у вас установлено несколько версий.
Узнать, какая версия пакета установлена с помощью pip
Как заставить pip переустановить текущую версию?
Как исправить ошибку "error: externally-managed-environment" при использовании pip 3?
'pip' не распознан как командa внутреннего или внешнего формата
"Попытка установить pymssql на Ubuntu 12.04 с помощью pip"