Установите модуль с помощью pip для конкретной версии python

В Ubuntu 10.04 по умолчанию установлен Python 2.6, затем я установил Python 2.7. Как я могу использовать pip install для установки пакетов для Python 2.7.

Например:

pip install beautifulsoup4

по умолчанию устанавливает BeautifulSoup для Python 2.6

Когда я это сделаю:

import bs4

в Python 2.6 он работает, но в Python 2.7 говорится:

No module named bs4

Ответ 1

Используйте версию pip, установленную против экземпляра Python, для которой вы хотите установить новые пакеты.

Во многих дистрибутивах могут быть отдельные пакеты python2.6-pip и python2.7-pip, вызываемые двоичными именами, такими как pip-2.6 и pip-2.7. Если пип не упакован в вашем дистрибутиве для желаемой цели, вы можете найти пакет setuptools или easyinstall или использовать virtualenv (который всегда будет включать в себя созданный окружение).

pip веб-сайт содержит инструкции по установке, если вы не можете найти что-либо в своем дистрибутиве.

Ответ 2

В качестве альтернативы, поскольку pip сам написан на python, вы можете просто вызвать его с помощью версии python, которую вы хотите установить для:

python2.7 /usr/bin/pip install foo

Ответ 3

Вы можете выполнить модуль pip для конкретной версии python с помощью соответствующего python:

Python 2.6:

python2.6 -m pip install beautifulsoup4

Python 2.7

python2.7 -m pip install beautifulsoup4

Ответ 4

Вы можете использовать этот синтаксис

python_version -m pip install your_package

Например. Если вы используете python3.5, вы назвали его "python3" и хотите установить пакет numpy

python3 -m pip install numpy

Ответ 5

В Windows вы можете выполнить модуль pip, указав версию python (вам нужно убедиться, что пусковая установка находится на вашем пути)

py -2 -m pip install pyfora

Ответ 6

Python 2

sudo pip2 install johnbonjovi  

Python 3

sudo pip3 install johnbonjovi

Ответ 7

В качестве альтернативы, если вы хотите установить определенную версию пакета с конкретной версией python, это способ

sudo python2.7 -m pip install pyudev=0.16

если "=" не работает, используйте ==

[email protected]:~$ sudo python2.7 -m pip install pyudev=0.16

Недопустимое требование: 'pyudev = 0.16' = недействительный оператор. Вы имели в виду ==?

[email protected]:~$ sudo python2.7 -m pip install pyudev==0.16

отлично работает

Ответ 8

Если у вас установлены версии для python версии 2.7 и 3.x, просто переименуйте файл exe python версии python 3.x на что-то вроде "python.exe" на "python3.exe". Теперь вы можете использовать pip для обеих версий по отдельности. Если вы обычно набираете "pip install", он по умолчанию рассмотрит версию 2.7. Если вы хотите установить его в версии 3.x, вам нужно вызвать команду "python3 -m pip install".

Ответ 9

Я установил Python 2.7 через chocolatey в Windows и нашел pip2.7.exe в C:\tools\python2\Scripts.

Используя этот исполняемый файл вместо команды pip, для меня установлен правильный модуль (requests для Python 2.7).

Ответ 10

Я столкнулся с аналогичной проблемой с другим пакетом под названием Twisted. Я хотел установить его для Python 2.7, но он был установлен только для Python 2.6 (версия по умолчанию для системы).

Для меня сработало простое изменение.

При добавлении пути Python 2.7 к вашей переменной $PATH добавьте его в начало следующим образом: PATH=/usr/local/bin:$PATH, чтобы система использовала эту версию.

Если у вас больше проблем, вы можете следить за этим сообщением в блоге, которое помогло мне - https://github.com/h2oai/h2o-2/wiki/installing-python-2.7-on-centos-6.3.-follow-this-sequence-exactly-for-centos-machine-only