Встановіть модуль за допомогою pip для певної версії python


138

На 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


Відповіді:


54

Використовуйте версію, pipвстановлену проти екземпляра Python, до якого потрібно встановити нові пакети.

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

веб-сайт pip містить інструкції з установки , якщо ви нічого не можете знайти у своєму розповсюдженні.


6
У мене немає ні pip-2.6, ні pip-2.7
torayeff

1
@torayeff Ви шукали специфічні для версії пакети піп? Упаковка залежить від розповсюдження, тож вам потрібно буде або зробити невелику роботу самостійно (шукаючи наявні списки пакунків), або запитати у конкретного каналу підтримки Ubuntu.
Чарльз Даффі

1
Я спробував це easy_install -d /usr/local/lib/python2.7/ beautifulsoup4, але він не працює, що ви маєте на увазі під ніжкою?
torayeff

3
@torayeff те ж саме стосується easy_install, як і для pip - ви повинні використовувати версію, побудовану проти інтерпретатора, для якого ви намагаєтесь встановити пакети. "ножна робота" - це розмова, що стосується зусиль, як правило, різноманітних, що не є особливо інтелектуально складним, але може забирати багато часу (думайте, що схоже на роботу, яка вимагає часу, щоб витратити її на прогулянку) ... у цьому випадку перегляд Переліки пакетів Ubuntu.
Чарльз Даффі

1
@torayeff ... і знову ж таки, якщо ви не можете знайти пакет Ubuntu з протоколу pip або простий у встановленні специфічний для Python 2.7, ви можете встановити pip вручну за інструкціями, до яких я пов’язаний у своїй відповіді; просто не забудьте скористатись python2.7виконуваним файлом, переглядаючи ці інструкції.
Чарльз Даффі

189

Крім того, оскільки pipвін написаний у python, ви можете просто зателефонувати за допомогою версії python, для якої потрібно встановити пакет:

python2.7 -m pip install foo

1
Оскільки я встановлюю з pip у віртуальному середовищі (але потрібно запускати його проти системного пітона в деяких випадках, з набором PYTHONPATH - наприклад, при використанні всього, що залежить від wxPython), це команда, яка працювала для мене.
Аарон Д

6
НАЙКРАЩЕ рішення для всіх проблем Python2 та Python3!
Жорсткий Вархан Лада

9
Я хотів би відзначити , що правильний спосіб виклику модуля в Пітоні зpython 2.7 -m pip install foo
LLR ,

2
Я не можу достатньо підтримати цю відповідь. Нарешті вирішив цю болючу проблему на DietPi (Raspberry distro)
Пітто,

1
@Sergio Схоже, що -m знаходиться в неправильному для мене місці, я думаю, що команда повинна більше нагадуватиpy37 -m "location-of-pip" install numpy
jrh

53

Ви можете виконати модуль pip для певної версії python, використовуючи відповідний python:

Python 2.6:

python2.6 -m pip install beautifulsoup4

Python 2.7

python2.7 -m pip install beautifulsoup4

3
Я багато разів шукав Інтернет, шукаючи цю команду. Я думаю, більшість людей використовують віртуальне середовище для вирішення цієї проблеми, але це набагато більш життєздатна стратегія для мене.
Дейв Лю

Що робити, якщо я перебуваю всередині свого сценарію python, який закликає pip встановити beautifulsoup4. Як я можу переконатися, що сценарій викликався прапором -m?
Оген

Це був заключний фрагмент моєї головоломки, дякую! pipі вони pip3були заблоковані для python3.X для мене, тому мені довелося використовувати цей метод як обхідний спосіб встановлення pip для python2.7
airdas

25

Ви можете використовувати цей синтаксис

python_version -m pip install your_package

Наприклад. Якщо ви працюєте з python3.5, ви назвали його як "python3" і хочете встановити numpy пакет

python3 -m pip install numpy

Це подібно моїй відповіді, але краще, тому що не потрібно збігатися із системними шляхами.
Турін

Здається, це була б найкраща відповідь. Працював ідеально і зі мною.
LogicOnAbstractions

18

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

py -2 -m pip install pyfora

1
Танськ. Він прокинувся в моєму випадку. У мене версія 3.4 і 3.7. Мені довелося запустити py -3,7 -m pip install -r
вимоги.txt,

6

Крім того, якщо ви хочете встановити конкретну версію пакета з конкретною версією python, це саме такий спосіб

sudo python2.7 -m pip install pyudev=0.16

якщо "=" не працює, використовуйте ==

x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev=0.16

Недійсна вимога: 'pyudev = 0,16' = не є дійсним оператором. Ви мали на увазі ==?

x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev==0.16

працює чудово


4

Пітон 2

sudo pip2 install johnbonjovi  

Пітон 3

sudo pip3 install johnbonjovi

1
Це не працює, якщо у вас є кілька установок python3. У мене є 3.4і 3.5я pip installнічого не можу 3.4.
byxor

3

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


2

Для Python 3

sudo apt-get install python3-pip
sudo pip3 install beautifulsoup4

Для Python 2

sudo apt-get install python2-pip
sudo pip2 install beautifulsoup4

У Debian / Ubuntu pip- це команда, яка використовується при встановленні пакетів для Python 2, в той час pip3як команда, яка використовується при встановленні пакетів для Python 3.


ця відповідь падає, коли у вас обох є, наприклад, python3.6 та python3.7. Тоді pip3 встановлюватиме пакети лише для python3 за замовчуванням.
мюйстан


1

Як і будь-який інший сценарій python, ви можете вказати установку python, з якою ви хочете запустити його. Ви можете помістити це у свій профіль оболонки, щоб зберегти псевдонім. $1Відноситься до першого аргументу ви передаєте в сценарій.

# PYTHON3 PIP INSTALL V2
alias pip_install3="python3 -m $(which pip) install $1"

0

У мене був встановлений Python 2.7 за допомогою шоколаду в Windows і знайдений pip2.7.exeв C:\tools\python2\Scripts.

Використовуючи цей виконуваний файл замість pipкоманди, встановив для мене правильний модуль ( requestsдля Python 2.7).


0

Я зіткнувся з подібною проблемою з іншим пакетом під назвою 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 -точно-для-цент-машини-тільки

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.