Как справиться с несколькими версиями 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 на macOS или OS X?
Ошибка EnvironmentError: не найден mysql_config при установке mysql-python с помощью pip
Как заставить pip переустановить текущую версию?
Ошибка bash: команда pip не найдена