特定のpythonバージョンのpipを使用してモジュールをインストールする


138

Ubuntu 10.04にはデフォルトでPython 2.6がインストールされていますが、Python 2.7をインストールしました。pip installPython 2.7のパッケージをインストールするにはどうすればよいですか。

例えば:

pip install beautifulsoup4

デフォルトでは、Python 2.6用のBeautifulSoupをインストールします

私がする時:

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のWebサイトに、ディストリビューション内に何も見つからない場合のインストール手順が含まれています


6
私はpip-2.6もpip-2.7も持っていません
torayeff

1
@torayeffバージョン固有のpipパッケージを探しましたか?パッケージ化はディストリビューション固有なので、少し手作業で(利用可能なパッケージリストを検索して)実行するか、Ubuntu固有のサポートチャネルに問い合わせる必要があります。
Charles Duffy、

1
私はこのeasy_install -d /usr/local/lib/python2.7/ beautifulsoup4を試してみましたが、機能しません。レッグワークとはどういう意味ですか?
torayeff

3
@torayeffは、pipと同じことがeasy_installにも当てはまります。パッケージをインストールしようとしているインタープリターに対してビルドされたバージョンを使用する必要があります。「レッグワーク」とは、努力を指す口語表現であり、通常は特に知的に挑戦的ではないが時間がかかる可能性があるさまざまなものです(この場合、歩き回るのに時間がかかる仕事に似ていると考えてください)...この場合、 Ubuntuパッケージリスト。
Charles Duffy、

1
@torayeff ...そして、pipのUbuntuパッケージが見つからない場合、またはPython 2.7固有の簡単なインストールが見つからない場合は、回答にリンクした指示に従って手動でpipをインストールできます。python2.7これらの手順を実行するときは、実行可能ファイルを使用してください。
Charles Duffy

189

または、それpip自体がpythonで記述されているため、パッケージをインストールするpythonバージョンを指定して呼び出すことができます。

python2.7 -m pip install foo

1
私は仮想環境でpipを使用してインストールしているため(ただし、PYTHONPATHを設定して(たとえば、wxPythonに依存するものを使用する場合など)、システムのpythonに対して実行する必要がある場合)、これは私に役立つコマンドです。
アーロンD

6
すべてのPython2およびPython3の問題に対する最良の解決策!
Harsh Vardhan Ladha

9
私はPythonでモジュールを呼び出すための正しい方法がであることに注意してくださいpython 2.7 -m pip install foo
LLRの

2
私はこの答えを十分に賛成できない。最後に(ラズベリーディストリビューション)DietPiにこの痛みを伴う問題を解決
Pitto

1
@Sergioそれは-mが私にとって間違った場所にあるように見えます、コマンドはもっと似ているべきだと思いますpy37 -m "location-of-pip" install numpy
jrh

53

対応するpythonを使用して、特定のpythonバージョンのpipモジュールを実行できます。

Python 2.6:

python2.6 -m pip install beautifulsoup4

Python 2.7

python2.7 -m pip install beautifulsoup4

3
私はこのコマンドを探して、何度もインターネットを調べました。ほとんどの人はこの問題を解決するために仮想環境を使用していると思いますが、私にとってははるかに実行可能な戦略です。
Dave Liu

pip install beautifulsoup4を呼び出すpythonスクリプト内にいる場合はどうなりますか?スクリプトが-mフラグ付きで呼び出されたことをどのように確認できますか?
Ogen

これが私のパズルの最後のピースでした、ありがとう!pipそしてpip3、私が使用していたので、両方の私のためpython3.Xにロックされたこの方法を python2.7用のピップをインストールする回り道として
airdas

25

この構文を使用できます

python_version -m pip install your_package

例えば。python3.5を実行している場合は、「python3」という名前を付け、numpyパッケージをインストールします

python3 -m pip install numpy

これは私の答えに似ていますが、システムパスをいじる必要がないため、より適切です。
Turion 2017

これが今では最良の答えになると思われます。私も完璧に働きました。
LogicOnAbstractions

18

Windowsでは、pythonバージョンを言及することでpipモジュールを実行できます(ランチャーがパス上にあることを確認する必要があります)

py -2 -m pip install pyfora

1
ありがとう。私の場合は目が覚めた。3.4と3.7のバージョンがあります。python 3.7に関連付けられたpipを使用するには、py -3.7 -m pip install -r requirements.txtを実行する必要がありました
rodrigorf

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

Python 2

sudo pip2 install johnbonjovi  

Python 3

sudo pip3 install johnbonjovi

1
の複数のインストールがある場合、これは機能しませんpython3。私が持っている3.43.5、私がすることはできませんpip installのために何でも3.4
byxor

3

2.7と3.xの両方のバージョンのpythonがインストールされている場合は、python 3.xバージョンのpython exeファイルの名前を「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では、 pipPython 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がインストールされていたchocolatey Windows上で見つかったpip2.7.exeの中でC:\tools\python2\Scripts

pipコマンドの代わりにこの実行可能ファイルを使用すると、正しいモジュール(requestsPython 2.7用)がインストールされました。


0

Twistedと呼ばれる別のパッケージでも同様の問題に直面しました。Python 2.7にインストールしたかったのですが、Python 2.6(システムのデフォルトバージョン)にしかインストールされませんでした。

簡単な変更を加えるだけでうまくいきました。

$PATH変数にPython 2.7のパスを追加するときは、次のように先頭に追加しPATH=/usr/local/bin:$PATHて、システムがそのバージョンを使用するようにします。

さらに問題が発生した場合は、こちらのブログ投稿を参考にしてください-https://github.com/h2oai/h2o-2/wiki/installing-python-2.7-on-centos-6.3.-follow-this-sequence -centos-machine-exactly-for-centos-machine-only

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.