web-dev-qa-db-ja.com

Arch:pip:ImportError:名前 'リクエスト'をインポートできません

私のpython pipでインストールされたパッケージのいくつかは、pacmanを使用してインストールしようとした別のパッケージと競合していました。そこで、pipでインストールされたすべてのパッケージをアンインストールすることにしました。すべてのrequirements.txtファイルを作成しました。パッケージをアンインストールし始めました。しばらくは問題なく動作しましたが、最終的に次のエラーが発生しました。

Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    load_entry_point('pip==10.0.1', 'console_scripts', 'pip')()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 479, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2703, in load_entry_point
    return ep.load()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2321, in load
    return self.resolve()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2327, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3.6/site-packages/pip/_internal/__init__.py", line 42, in <module>
    from pip._internal import cmdoptions
  File "/usr/lib/python3.6/site-packages/pip/_internal/cmdoptions.py", line 16, in <module>
    from pip._internal.index import (
  File "/usr/lib/python3.6/site-packages/pip/_internal/index.py", line 15, in <module>
    from pip._vendor import html5lib, requests, six
ImportError: cannot import name 'requests'

その後、pipを実行しようとするたびに、同様のエラーが発生しました。

1
Rashik

あなたの問題は、あなたがSudo pipを使っていて、最終的にpacmanパッケージとpipパッケージを混ぜ合わせたということです。こんなことしないで。 Pythonのディストリビューションインストールでpipを使用する必要がある場合は、--userフラグを使用するか、さらにはvirtualenvを使用します。

これを修正するには、pipでインストールしたものをすべてアンインストールする必要があります。パックマンが知らないファイルを見つける公式リポジトリからのlostfilesパッケージ。この混乱をすべて取り除き、pacmanを使用してpython-pipを再インストールします。

pacman -Dkを使用して依存関係が壊れているパッケージ、またはpacman -Qkkを使用してpacmanに属するはずのpipを使用して削除または置換したファイルがある破損したパッケージを確認する必要がある場合もあります。

2
eschwartz