Есть ли способ заставить pip
хорошо работать с несколькими версиями Python? Например, я хочу использовать pip
для явной установки вещей либо на мою установку сайта 2.5, либо на установку сайта 2.6.
Например, с easy_install
я использую easy_install-2.{5,6}
.
И, да - я знаю о virtualenv, и нет - это не решение данной конкретной проблемы.
текущая рекомендация - использовать python -m pip
, где python
- это версия Python, которую вы хотите использовать. Это рекомендация, потому что она работает во всех версиях Python и во всех формах virtualenv. Например:
# The system default python:
$ python -m pip install fish
# A virtualenv's python:
$ .env/bin/python -m pip install fish
# A specific version of python:
$ python-3.6 -m pip install fish
Предыдущий ответ оставлен для потомков:
Начиная с версии 0.8, Pip поддерживает pip-{version}
. Вы можете использовать его так же, как и easy_install-{version}
:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
EDIT: pip изменил свою схему, чтобы использовать pipVERSION
вместо pip-VERSION
в версии 1.5. Вы должны использовать следующее, если у вас pip >= 1.5
:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
Более подробную информацию смотрите на https://github.com/pypa/pip/pull/1053.
Ссылки:
В Windows, вы можете выполнить типун модуля с помощью данной версии Python через питон лаунчер, `py.exe если вы решили установить его в Питон 3 установки.
`нет пы -3 -м пункт Установить имя_пакета пы -2 -м пункт Установить имя_пакета ``
Вы можете быть еще более конкретным и запросить точные суб-версии Python:
`нет пы -3.6 -м пункт Установить имя_пакета ``
Чтобы получить список всех установленных версий Python доступен через лаунчер, запустите:
`нет пы --список ``
В качестве альтернативы, вы можете запустить нужную исполняемому файлу Python напрямую:
`нет C:/path/to/specific/python.exe -м типун установить имя_пакета ``
/path/to/python2.{5,6} /path/to/pip install PackageName
не работает?
Чтобы это сработало на любой версии python, на которой не установлен pip, вам нужно скачать pip и выполнить python*version* setup.py install
. Например, python3.3 setup.py install
. Это устраняет ошибку импорта в комментариях. (Как предложил @hbdgaf)
Я имел в Python 2.6 установлен по умолчанию (Амазон ЕС2 ами), но нужно вместо python2.7 плюс некоторые внешние пакеты для моего приложения. Предполагая, что вы уже установили вместо python2.7 наряду с Python по умолчанию (2.6 в моем случае). Вот как установить pip и пакеты для нестандартных вместо python2.7
Установить pip для вашей версии Python:
curl -O https://bootstrap.pypa.io/get-pip.py
python27 get-pip.py
Используйте конкретные Пип версию установить пакеты:
pip2.7 install mysql-connector-python --allow-external mysql-connector-python
Он работал для меня в Windows таким образом:
Я изменил название файлов в Python python.py и pythonw.exe для python3.py pythonw3.py
Потом я просто запустил эту команду в командной строке:
`питон3 -м пункт установить пакет
Другие ответы показывают, как использовать pip с 2.X и 3.Х Python, но не показывает как вести дела в нескольких дистрибутивах питон (например. оригинальный питона и Анаконды питон).
У меня есть 3 версии питона: оригинал в Python 2.7 и Python 3.5 и Анаконды питон 3.5.
Вот как установить пакет в:
/usr/Бен/питон3 -м установить типун на языке Python-демон
/usr/Бен/Python в -М установить типун на языке Python-демон
питон3 -м типун установить Python-демон
или
pip3 установить Python-демон
Проще, как Анаконда переопределяет исходные файлы Python в среде пользователей.
Конечно, установка в Anaconda должно быть сделано с `команды стадион conda, это просто пример.
Кроме того, убедитесь, что pip установлен для конкретного питона.Вам может потребоваться вручную установить Пип. Это работает в Ubuntu 16.04:
sudo apt-get install python-pip
или
sudo apt-get install python3-pip
Я столкнулся с этой проблемой сам недавно и обнаружил, что я вовсе'т получить право типун на языке Python 3, на моей системе Linux, которая также имеет в Python 2.
Сначала вы должны убедиться, что вы установили pip для вашей версии Python:
Для Python 2:
sudo apt-get install python-pip
Для Python 3:
sudo apt-get install python3-pip
После установки пакетов для одной версии Python или других, просто используйте следующий для Python 2:
pip install <package>
или для Python 3:
pip3 install <package>
pip-это тоже пакет python. Поэтому самый простой способ установить модули к конкретной версии Python будет ниже
python2.7 /usr/bin/pip install foo
или
python2.7 -m pip install foo
Очевидно, существует несколько версий easy_install
и pip
. Похоже, это большая неразбериха. В любом случае, вот что я сделал, чтобы установить Django для Python 2.7 на Ubuntu 12.10:
$ sudo easy_install-2.7 pip
Searching for pip
Best match: pip 1.1
Adding pip 1.1 to easy-install.pth file
Installing pip-2.7 script to /usr/local/bin
Using /usr/lib/python2.7/dist-packages
Processing dependencies for pip
Finished processing dependencies for pip
$ sudo pip-2.7 install django
Downloading/unpacking django
Downloading Django-1.5.1.tar.gz (8.0Mb): 8.0Mb downloaded
Running setup.py egg_info for package django
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
Running setup.py install for django
changing mode of build/scripts-2.7/django-admin.py from 644 to 755
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed django
Cleaning up...
$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>
На Linux, Mac ОС X и другие POSIX-системах, использовать команды с версиями питона в сочетании с параметром -м
для запуска соответствующей копии Пип
:
python2.7 -m pip install SomePackage
python3.4 -m pip install SomePackage
(соотвественно версионный команды pip может также быть доступен)
В Windows, используйте пы
запуска Python в сочетании с параметром -м
:
py -2.7 -m pip install SomePackage # specifically Python 2.7
py -3.4 -m pip install SomePackage # specifically Python 3.4
если вы получаете сообщение об ошибке для пй -3.4
, то попробуйте:
pip install SomePackage
Отсюда: https://docs.python.org/3/installing/
Вот как установить пакеты для различных версий, которые устанавливаются в то же время Линукс, мак, в POSIX:
python2 -m pip install SomePackage # default Python 2
python2.7 -m pip install SomePackage # specifically Python 2.7
python3 -m pip install SomePackage # default Python 3
python3.4 -m pip install SomePackage # specifically Python 3.4
python3.5 -m pip install SomePackage # specifically Python 3.5
python3.6 -m pip install SomePackage # specifically Python 3.6
На окна используйте пы запуска Python в сочетании с -м переключатель:
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
Вот мой взгляд на проблему. Работает на Питон3. Основными функциями являются:
Шаги следующим образом:
Если у вас есть несколько дополнительных версий Python установлен в какой-то другой способ, избавиться от них, например, удалить $дома/.местные/Либ/питон3.х и т. д. (также глобально установленных). Дон'т коснуться вашей системе'ы, хотя по умолчанию версия питон3.
Загрузить исходный код для разных версий Python в следующую структуру каталогов:
$Дома/ python_versions/ : скачать Python-*.пакеты здесь и " тгз;xvf дегтя" у них. Вы'll получить каталоги такой: Питон-3.4.8/ Питон-3.6.5/ Питон-3.х.г/ ...
корень команды mkdir ./настроить --префикс=$ФРД/корень сделать -Джей 2 сделать установить виртуальное окружение-нет-сайт-пакеты -п корень/бин/питон3.х ОКР
env_python3x.Баш:
Эхо "Тип отключения для выхода на" источник в $Home/python_versions/питон-3.х.г/ОКР/bin/активировать
источник в $Home/python_versions/env_python3x.Баш
для входа в виртуальное окружение
типун установки --модернизация имя_пакета
Большинство ответов здесь решать вопрос, но я хочу добавить то, что постоянно путаешь меня с точки зрения создания альтернативной установки Python в /usr/местные
на CentOS 7. Когда я установил там, оказалось, таких как pip работает, так как я мог бы использовать `pip2.7 Установите и установить модули. Однако то, что я не мог'т выяснить, почему мой недавно установленную версию питона было'т видите, что я устанавливал.
Оказывается в CentOS 7, что там уже вместо python2.7 и pip2.7 в папке/usr/Бен. Для того чтобы установить pip для вашего нового дистрибутива Python, вы должны конкретно сказать судо пойти в
/usr/местные/Бен`
sudo /usr/local/bin/python2.7 -m ensurepip
Это должно сделать pip2.7 установлен в папке /usr/местные/Бен вместе со своей версией Python. Фишка в том, что когда вы хотите установить модули, вам необходимо либо изменять путь судо
переменнойвключить
/usr/местные/Бен или необходимо выполнить
sudo /usr/local/bin/pip2.7 install <module>
если вы хотите установить новый модуль. Он взял меня навсегда, чтобы помнить, что судо
это'т сразу видеть /usr/местные/Бен
.
Установка несколько версий Python и соответствующие пакеты.
Версии Python на Windows-машине : 2.7 , 3.4 и 3.6
Установка всех 3 версий Python :
Путь для всех 3 версий Python :
Переименование исполняемых файлов для версии :
Проверено на командной строке со всеми версиями :
Установка пакетов отдельно для каждой версии
Если у вас есть несколько версий, а также различных архитектур (32 бит, 64 бит) вам потребуется добавить -32 или -64 в конце вашей версии.
Для Windows заходим в cmd и пй тип-список, и он будет производить версии, которые вы установили. Список будет выглядеть следующим образом:
Installed Pythons found by py Launcher for Windows
-3.7-64 *
-3.7-32
-3.6-32
Полная команда, в качестве примера будет:
py -3.6-32 -m pip install (package)
Если вы хотите получить более глубокий, для того чтобы установить конкретную версию пакета на конкретной версии Python, использовать ==(версия) после того, как пакет. В качестве примера,
py -3.6-32 -m pip install opencv-python==4.1.0.25
Контекст: Archlinux
Действия:
Установите вместо python2-Пип:
судо Пакман -С вместо python2-типун
Теперь у вас есть pip2.7:
судо pip2.7 Установите бото
Тест (в моем случае мне нужен 'бото'): Выполните следующие команды:
python2
import boto
Успех: ошибки нет.
Выход: <и>сочетание клавиш Ctrl</КБД и GT;+<и>г</роз>
например, если установить другие версии (например, 3.5) по умолчанию и хотите установить типун на языке Python 2.7:
Это, наверное, совершенно неправильно, что нужно делать (я'м на Python нуб), но я просто зашел и отредактировал типун файл
``
импорт заново импорт Сыс
от типуна._internal основной импорт
если имя == 'основной': Сыс.argv[0] в = ре.суб(Р'(-script.pyw?/.exe)?$', '', Сыс.аргумент argv[0]) Сыс.выход(основной()) ``