は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
これは他の人がこの問題を解決するのに役立ちます。
どのバージョンのpylintですか? – Chr
どのようにしてpylintをインストールしましたか? –
私はpip install pylintコマンドを使用しました –