web-dev-qa-db-ja.com

ピップが壊れた。 DistributionNotFoundエラーを修正するには?

Pipを使用しようとすると、エラーが発生します。例:

$ Sudo pip install gevent-websocket

Traceback (most recent call last):  
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2675, in <module>
parse_requirements(__requires__), Environment()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 552, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==0.8.1

の値をpip == 0.8.2に変更したいと思いますが、インストールを「ハッキング」した結果に対処する気がしません... python 2.7を実行していて、pipはバージョン0.8.2。

141
Stephan

私のMacBookでこの問題を見つけました。理由は、@ Stephanが言ったように、easy_installを使用してpipをインストールし、両方のpyパッケージ管理ツールの混合物がpkg_resources.DistributionNotFound問題につながったためです。解決策は次のとおりです。

easy_install --upgrade pip

覚えておいてください:Pyパッケージを管理するには、上記のツールのoneを使用するだけです。

246
NewPtone

/ usr/local/bin/pipの0.8.2の0.8.1を置き換えたところ、すべて正常に動作しました。

__requires__ = 'pip==0.8.2'
import sys
from pkg_resources import load_entry_point

if __== '__main__':
    sys.exit(
        load_entry_point('pip==0.8.2', 'console_scripts', 'pip')()
    )

Easy_installを介してpipをインストールしたので、おそらくこの頭痛の種になりました。これが今日のあなたのやり方だと思います。

$ Sudo apt-get install python-pip python-dev build-essential 
$ Sudo pip install --upgrade pip 
$ Sudo pip install --upgrade virtualenv
31
Stephan

自作を使用していたときにこの問題が発生しました。 Issue #269 の解決策を次に示します

python -m pip install --upgrade --force pip
25
Louis Cremen

Get-pipスクリプトを使用して再インストールしてみてください。

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

これは、Giphubのpipページから入手したもので、私のために働きました。

11
pavan

CentOSを使用している場合は、YUMパッケージ「python-setuptools」がインストールされていることを確認してください

yum install python-setuptools

私のためにそれを修正しました。

7
Dave Lancea

私はこれを次のように解決することができました:

$ brew update
$ brew doctor
$ brew uninstall python
$ brew install python --build-from-source    # took ~5 mins
$ python --version                           # => Python 2.7.9
$ pip install --upgrade pip

私は次のもので実行しています(2015年1月2日現在):

OS X Yosemite
Version 10.10.1

$ brew -v
Homebrew 0.9.5

$ python --version
Python 2.7.9

$ ipython --version
2.2.0

$ pip --version
pip 6.0.3 from /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-6.0.3-py2.7.Egg (python 2.7)

$ which pip
/usr/local/bin/pip
6
hernamesbarbara

問題の原因は、多くの場合、bin(Linux)またはScripts(Windows)サブディレクトリ内の古いスクリプトです。例として、私が遭遇した問題を使用してこれを説明します。

ユーザーサイトパッケージにvirtualenvバージョン1.10をインストールしました(システムサイトパッケージではなくユーザーサイトパッケージにあるという事実はここでは無関係です)。

pdobrogost@Host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@Host:~$ virtualenv --version
1.10

バージョン1.11にアップグレードした後、次のエラーが表示されました。

pdobrogost@Host:~$ virtualenv --version  
Traceback (most recent call last):   
  File "/home/users/pdobrogost/.local/bin/virtualenv", line 5, in <module>
    from pkg_resources import load_entry_point   
File "build/bdist.linux-x86_64/Egg/pkg_resources.py", line 2701, in <module>
    return self.__dep_map   
File "build/bdist.linux-x86_64/Egg/pkg_resources.py", line 572, in resolve
    if insert: 
pkg_resources.DistributionNotFound: virtualenv==1.10

エラーメッセージに記載されているファイル/home/users/pdobrogost/.local/bin/virtualenvは次のようになりました。

#!/opt/python/2.7.5/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.10'
import sys
from pkg_resources import load_entry_point

if __== '__main__':
    sys.exit(
        load_entry_point('virtualenv==1.10', 'console_scripts', 'virtualenv')()
    ) 

そこで、virtualenvスクリプトは更新されておらず、以前にインストールされたvirtualenvのバージョン1.10が引き続き必要であることがわかります。
今、このようにvirtualenvを再インストールします

pdobrogost@Host:~$ pip install --user --upgrade virtualenv
Downloading/unpacking virtualenv from https://pypi.python.org/packages/py27/v/virtualenv/virtualenv-1.11.1-py27-none-any.whl#md5=265770b61de41d34d2e9fdfddcdf034c
  Using download cache from /home/users/pdobrogost/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fpy27%2Fv%2Fvirtualenv%2Fvirtualenv-1.11.1-py27-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...

スクリプトpip install --user --upgrade --force-reinstall virtualenvは変更されないため、(/home/users/pdobrogost/.local/bin/virtualenvでも)助けにはなりません。

これを修正できる唯一の方法は、/home/users/pdobrogost/.local/bin/フォルダーからvirtualenv *スクリプトを手動で削除し、virtualenvを再度インストールすることです。この後、新しく生成されたスクリプトは適切なバージョンのパッケージを参照します。

pdobrogost@Host:~$ virtualenv --version
1.11
6
Piotr Dobrogost

OSxでも同様の問題に直面していました。私のスタックトレースは言っていました

raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: setuptools>=11.3

その後、私は次のことをしました

Sudo pip install --upgrade setuptools

これで問題は解決しました。誰かがこれが役に立つことを願っています。

4
Nabin

Mac OS X(MBP)では、次の(ここに記載されている別の回答から取られた)問題を解決しました。

C02L257NDV33:~ jjohnson$ brew install pip
Error: No available formula for pip
Homebrew provides pip via: `brew install python`. However you will then
have two Pythons installed on your Mac, so alternatively you can:
    Sudo easy_install pip
C02L257NDV33:~ jjohnson$ Sudo easy_install pip

明らかに、ここの根本的な原因は、python(私の場合はHomebrew)をインストールするための2番目の方法を持っていることです。うまくいけば、Stack Overflowで最初に報告されてから2年経った今でも、pipスクリプトの責任者がこの問題を解決できることを願っています。

2
Joe Johnson

私の場合(サムの問題ですが、他のパッケージ)、バージョンの依存関係はありませんでした。一連のpipアンインストールとpip insstallが役立ちました。

1
rhoerbe

この問題が発生したのは、書き込みを覚えていない奇妙な~/.pydistutils.cfgでpython/pipをインストールしたためです。それを削除し、(pybrewを使用して)再インストールしましたが、すべて正常でした。

1
polm23