2016-11-23 5 views
2

によって必要とされ、私はPylintを実行しようとしていますし、私は以下のエラーが取得しています:私はエラー:pkg_resources.DistributionNotFound:「backports.functools-LRUキャッシュ」分布が見つからなかったとpylint

pkg_resources.DistributionNotFound: The 'backports.functools-lru-cache' distribution was not found and is required by pylint

を以下のリンクを見つけましたが、これらのファイルをどうするか、どこに配置するかは不明です。 https://pypi.python.org/simple/backports.functools-lru-cache/

どうすればこの問題を解決できますか?

+0

どのバージョンのpylintですか? – Chr

+0

どのようにしてpylintをインストールしましたか? –

+0

私はpip install pylintコマンドを使用しました –

答えて

3

私は同じ問題を抱えていたし、私は2つの行方不明の依存関係インストール(pylint上の間違った設定や更新されませんピップを??) ジャストん:

pip install backports.functools_lru_cache 

その後、あなたのようなエラーが出た場合:

raise DistributionNotFound(req) 

pkg_resources.DistributionNotFound:ConfigParserの

だけで実行します。

pip install configparser 
0

私はCentOSの上のCentOS 7.

virtual environment内で実行されているとき、バックポートモジュールはYUMパッケージ(python-backports.x86_64)としてパッケージ化され、この問題を抱えていました。

解決策は、--system-site-packagesオプションを使用してvirtualenvを作成することでした。

まず ``のpython-backports`パッケージがインストールされていることを確認します。

virtualenv env --system-site-packages

これはにvirtualenvののpylintすることができます:

yum list installed | grep python-backports

は、その後、あなたの仮想環境を作成/再作成しますインストール時にバックポートモジュールを参照してください。私はRHEL/CentOSの特定のバージョンを伝えることができるものから、

env/bin/pip install pylint

0

はyumを自分でbackports.sslマッチホスト名パッケージに問題のいくつかの並べ替えを持っている:

次に、仮想環境内pylintをインストールリポジトリは、他のバックポートパッケージがPyPIから更新されると問題を引き起こす可能性があります。具体的には以下のように、RHEL7.2環境では、私は、問題を再現しました:

> yum install python-pip # indirectly installs backports.ssl-match-hostname 
> pip2 install pylint  # indirectly installs backports.functools_lru_cache 
> pip2 install --upgrade backports.ssl-match-hostname # install latest package from pypi, which effectively corrupts backports.functools_lru_cache 
> python2 -m pylint --version # fails with missing import backports.functools_lru_cache 

私が見つけたこれを回避する唯一の方法はは、PyPIから同等のものにはyum-インストールパッケージを交換することです。これは、次のようにして実行できます。

> yum install python-pip # installs backports.ssl-match-hostname as a transitive dependency 
> pip2 freeze > temp_reqs.txt # take a snapshot of the installed packages and versions 
> pip2 uninstall backports.ssl-match-hostname # remove the yum installed package 
> pip2 install -r temp_reqs.txt # reinstall the same version of the backports package, but install from PyPI 

これで、インストールされたパッケージが正常に動作するはずです。次のテストケースを実行すると、これが確認されます。

> pip2 install pylint 
> pip2 install --upgrade backports.ssl-match-hostname # previously caused corruption of backports.functools_lru_cache used by pylint 
> python2 -m pylint --version # now works correctly 

これは他の人がこの問題を解決するのに役立ちます。

+0

私はこれをOSXでも実行しています。それは価値があります。 – Twirrim

関連する問題