web-dev-qa-db-ja.com

pip3依存関係がありません

今日、最新のUbuntu Gnomeをインストールし、データサイエンス関連の作業用にマシンをセットアップしました。 tensorflow-gpuをインストールしようとしたときに、pip3からクラッシュしました。

me@pc:~/Desktop$ pip3
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored
    __import__(vendored_name, globals(), locals(), level=0)
ImportError: No module named 'pip._vendor.pkg_resources'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 13, in <module>
    from pip.exceptions import InstallationError, CommandError, PipError
  File "/usr/lib/python3/dist-packages/pip/exceptions.py", line 6, in <module>
    from pip._vendor.six import iteritems
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 75, in <module>
    vendored("pkg_resources")
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
    __import__(modulename, globals(), locals(), level=0)
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2927, in <module>
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2913, in _call_aside
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in _initialize_master_working_set
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 956, in subscribe
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in <lambda>
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2515, in activate
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2097, in declare_namespace
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2047, in _handle_ns
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2066, in _rebuild_mod_path
AttributeError: '_NamespacePath' object has no attribute 'sort'

Python3-pipをパージして再インストールしようとしましたが、まだ動作しません。ターミナルでpip3を実行してEnterキーを押すだけで上記の結果が得られます。

何か案は?

編集:また、pipとpip3では2つのパスが異なります。

me@pc:~$ which pip
/home/me/.local/bin/pip
me@pc:~$ which pip3
/usr/bin/pip3
1
Qubix

新しい仮想環境を作成してこれを修正しました

  1. 新しい仮想環境は次の方法で作成できます。

    python3 -m venv /tmp/newvenv
    
  2. 次に、新しい仮想環境でpipが正常に動作するかどうかを確認しました。

    cd /tmp/newvenv/bin
    ./pip3
    

これにより、次のような通常のメッセージが表示されました。

使用法:
pip [オプション]

コマンド:

installパッケージをインストールします。

downloadパッケージをダウンロードします。

...

ただし、pip3はまだ失敗しています。

    pip3

これでもエラーメッセージが表示されました。

次に、pipの作業バージョンをホームディレクトリにコピーすることにしました。以下の2つのステップ(#3および#4)では、バックアップコピーを保持することができます。

  1. 仮想環境からホームディレクトリにpipとpip-9.0.1.dist-infoを上書きしました。

    cp -r /tmp/newvenv/lib/python3.5/site-packages/pip ~/.local/lib/python3.5/site-packages/
    cp -r /tmp/newvenv/lib/python3.5/site-packages/pip-9.0.1.dist-info ~/.local/lib/python3.5/site-packages/
    
  2. また、次の2つのファイルもコピーしました。

    cp /tmp/newvenv/lib/python3.5/site-packages/pkg_resources/__init__.py ~/.local/lib/python3.5/site-packages/pkg_resources/ 
    cp /tmp/newvenv/lib/python3.5/site-packages/pkg_resources/py31compat.py ~/.local/lib/python3.5/site-packages/pkg_resources/
    

これらの手順の後、私の場合、pip3は正常に動作しています。

0
Young Nam