CentOS 7にpipをインストールするには?


110

CentOS 7 EPELにPython 3.4が含まれるようになりました。 yum install python34

しかし、それを試してみると、Python 3.4は正常にインストールされますが、pipはインストールされていないようです。pipPython 3.4にはデフォルトで含まれているため、これは奇妙です。which pip3何も見つかりませんwhich pip

CentOS 7 EPELリリースでPython 3.4パッケージからpipにアクセスするにはどうすればよいですか?



1
中を覗きましたが、残念ながら何も関係ありません。
Jeff Widman、2015

だからpip34バイナリはありませんか?まあ、python -m pipそれがインストールされている場合は、常に経由でpipを呼び出すことができます。インストールされていない場合はpython -m ensurepip、ブートストラップに使用できます。後者のコマンドを呼び出すには、昇格された権限が必要な場合があります。
2015

1
正解です。pip*バイナリは見つかりません/usr/bin/。かなり確かそれはどこだので、私は正しい場所に探していますpython3.4し、pyvenv-3.4どこに設置し、彼らはどこか別の場所にシンボリックリンクされていません。まあ、それはpython3.4パッケージに含まれていないように見えますが、これは少し面倒です。ensurepipモジュールが存在しないpython3.4、私はおそらくちょうどEPEL船までIUSレポを使用しますので、どちらかpython3-pipまたは同等。
Jeff Widman

回答:


158

CentOS 7にpip3(python3.xパッケージ用)をインストールするための最も簡単な方法は次のとおりです。

$ sudo yum install python34-setuptools
$ sudo easy_install-3.4 pip

もちろん、事前にEPELリポジトリを有効にしておく必要があります。

これで、次のようなコマンドを実行して、python3.xのパッケージをインストールできるようになります。

$ pip3 install foo

これも最善の解決策だと思いますが、すべてを正常に保ちます。init .pyの編集はお勧めし
ません

合意された最良の解決策はこれをデフォルトの答えにする
johhny B

7
EPELがセットアップされたRHEL-7システムで、私はうまくいきましたyum install python34-pip
マイク、

1
それeasy_install-3.4 pipがシステムを上書きしたことに注目する価値があるpip。私がやったyum reinstall python-pip何の問題も確保しないように、その後。つまり、pip3期待どおりに、使用するには明示的に呼び出す必要があります。
miken32

52
curl https://bootstrap.pypa.io/get-pip.py | python3.4

またはcurl、何らかの理由で持っていない場合:

wget https://bootstrap.pypa.io/get-pip.py
python3.4 get-pip.py

この後、実行できるはずです

$ pip3

1
このエラーが発生しました:zipimport.ZipImportError:データを解凍できません。zlibは利用できません...これがなぜ起こるか知っていますか?
SoldierCorp

場合によっては、zlib-develやzlibがないようです。パッケージマネージャーでインストールしてみてください。sudo yum install zlibまたはsudo apt-get install zlib。お役に立てば幸いです。
DevOops 2016年

私も@SoldierCorpと同じ問題に直面していますが、インストールしようとするzlibPackage zlib-1.2.3-29.el6.x86_64 already installed and latest version、何が起こっているのかわかりますか?
Mostafiz Rahman

OS X 10.11にインストールする場合は、xcodeセットアップを再度実行してみてください。xcode-select --install
DevOops

私はcentos 6.7を使用しています
Mostafiz Rahman

16

python34のCentOS 7 yumパッケージにはensurepipモジュールが含まれていますが、何らかの理由で、そのモジュールの一部であるはずのsetuptoolsファイルとpipファイルが欠落しています。修正するには、PyPIからモジュールの_bundledディレクトリ(/lib64/python3.4/ensurepip/_bundled/)に最新のWheelをダウンロードします。

setuptools-18.4-py2.py3-none-any.whl
pip-7.1.2-py2.py3-none-any.whl

次に__init__.py、ダウンロードしたバージョンと一致するように編集します。

_SETUPTOOLS_VERSION = "18.4"
_PIP_VERSION = "7.1.2"

その後python3.4 -m ensurepipは意図したとおりに機能します。仮想環境を作成するたびに、Ensurepipが自動的に呼び出されます。次に例を示します。

pyvenv-3.4 py3
source py3/bin/activate

うまくいけば、RHは壊れたPython3.4 yumパッケージを修正するので、手動でパッチを適用する必要はありません。


2
とても有難い。これを必要とする人のために、ここでsetuptools pypi.python.org/simple/setuptoolsのホイールと、pip pypi.python.org/simple/pip
yoshiwaan

残念ながら、ensurepipのinit .pyファイルを編集するとRPM検証エラーが発生し、パッケージの更新時にも上書きされます。
carlwgeorge

2
私は本当に彼らの根拠がこの混乱を引き起こしたのは一体何であったかを知りたいです。正当な理由があるはずだと自分に言い聞かせている...
xenithorb

@xenithorbの理論的根拠は、pipを個別にパッケージ化することでした-Fedoraも持っているためpython3-pipです。EPELプロジェクトのpython3はまだ進行中のようです。
maxschlepzig 2016年

EPEL(エンタープライズLinux用の追加パッケージ)がでpython36動作するようになりましたpython3.6 -m ensurepip
ケビン

9

更新:下記のpython34バグがついに修正されました。今ではそれは完全に素晴らしい選択です。

壊れたEPEL python34パッケージを使用する代わりに、IUSリポジトリを有効にすることができますを適切に動作さます。

  • 仮想環境内のピップ

メインpython34uおよびpython35uIUSパッケージには、pyvenvツール(/usr/bin/pyvenv-3.4または/usr/bin/pyvenv-3.5 pipのバンドルされたホイールと仮想環境をブートストラップするためのsetuptoolsを含む)が含まれています。

  • グローバルピップ

python34u-pipそしてpython35u-pipIUSのパッケージが含ま/usr/bin/pip3.4/usr/bin/pip3.5それぞれ。これらは、パッケージをシステムのsite-packagesディレクトリにインストールするのに問題なく機能します。


1
なぜ誰もがこの回答に反対票を投じる理由はわかりません。IUSをご利用いただきありがとうございます。
Dave、

反対票に関しては、EPELのインストールに関する「壊れた」コメントを説明するのに役立ちます。私も今日、関連する検索からIUSを発見しました。ここで回答について言及することは賛成に値します。
マークエディントン2017

1
@MarkEdington回答を編集して、bugzilla.redhat.com / show_bug.cgi?id = 1263057へのリンクを追加しました。
carlwgeorge 2017

1
この問題はpython34-3.4.5-4で修正されました
DrStrangepork 2017

8
yum install python34-pip

pip3.4 install foo

EPELリポジトリをインストールする必要があるでしょう:

yum install -y epel-release


このyumパッケージはどのリポジトリからのものですか?
ジェフウィドマン2017年

1
CentOS 7. *:yum install -y epel-release
Shen Yu

1
このような音は最近EPELに追加され、おそらく正しい答えになるはずです。他の人もこれが彼らのために働くことを確認したら、私はこれを受け入れられた答えにします。
ジェフウィドマン2017年

私にとっては魅力のように機能します。:)
ビル・チェン

この回答は、VPSサーバーで実行するときに役立ちました
jking

3

2019年更新

最初はeasy_installを試しましたが、パッケージをクリーンで直感的な方法でインストールしません。また、パッケージを削除するときになると、クリーンアップが必要な多くのアーティファクトが残りました。

sudo yum install epel-release
sudo yum install python34-pip
pip install package

私のために働いた解決策でした、それはシステムにpipとして「pip3」をインストールします。また、標準のrpm構造を使用しているため、取り外し時にきれいになります。システムでpython2とpython3の両方のパッケージマネージャーが必要な場合、どのプロセスを実行する必要があるかわかりません。


1
これは、VPSサーバーを実行するときにこれを行う正しい方法であり、主にcPanelで使用されます
jking

0

easy_install(python librarieをパッケージ化するためのSetuptools)を使用するだけで、これを行う簡単な方法があります。

  • 仮定。これを行う前に、CentosマシンにPythonがインストールされているかどうかを確認してください(少なくとも2.x)。

  • pipをインストールする手順。

    1. easy_installをインストールしましょう

      sudo yum install python-setuptools python-setuptools-devel

    2. 次に、easy_installでpipを実行します。

      sudo easy_install pip

それは素晴らしいことです。今あなたはピップを持っています:)


0

インストールしているpython3のバージョンを確認します。

yum search pip

次に、最適な組み合わせをインストールします。reqoqueryを使用して、結果のpip3.egの名前を見つけます

repoquery -l python36u-pip

pip3の代わりにpip3.6を使用するように指示します


0

以下は、python34とpipをインストールするために実行した手順です

yum update -y
yum -y install yum-utils
yum -y groupinstall development
yum -y install https://centos7.iuscommunity.org/ius-release.rpm
yum makecache
yum -y install python34u  python34u-pip
python3.6 -v
echo "alias python=/usr/bin/python3.4" >> ~/.bash_profile
source ~/.bash_profile
pip3 install --upgrade pip

# if yum install python34u-pip doesnt work, try 

curl https://bootstrap.pypa.io/get-pip.py | python

curlを使用してpip3をインストールするには、次のようにしますcurl https://bootstrap.pypa.io/get-pip.py | python3
mRyan

-4

CentOS 7では、pipバージョンpip3.4は次の場所にあり、ここにあります。

/usr/local/bin/pip3.4

2
/ usr / local / bin内のファイルは、RHEL / CentOSによってパッケージ化されることはほとんどありません。「rpm -qf /usr/local/bin/pip3.4」を正常に実行できますか?これが機能する場合、出力に「rpm -qi <packagename>」と表示されます...パッケージャは誰ですか?
ジェフW
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.