Pip3を介してパッケージをインストールしようとしましたが、このエラーが発生しました。私が実行するすべてのpip/pip3コマンドでこのエラーが発生します。
alexg@hitbox:~$ pip3 -V
Traceback (most recent call last):
File "/usr/local/bin/pip3", line 7, in <module>
from pip import main
File "/home/alexg/.local/lib/python3.5/site-packages/pip/__init__.py", line 26, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/home/alexg/.local/lib/python3.5/site-packages/pip/utils/__init__.py", line 27, in <module>
from pip._vendor import pkg_resources
File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3018, in <module>
@_call_aside
File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3004, in _call_aside
f(*args, **kwargs)
File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3046, in _initialize_master_working_set
dist.activate(replace=False)
File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2578, in activate
declare_namespace(pkg)
File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2152, in declare_namespace
_handle_ns(packageName, path_item)
File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2092, in _handle_ns
_rebuild_mod_path(path, packageName, module)
File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2121, in _rebuild_mod_path
orig_path.sort(key=position_in_sys_path)
AttributeError: '_NamespacePath' object has no attribute 'sort'
いくつかの回答に従ってpip3 install --upgrade pip setuptools
を実行しようとしましたが、すべてのpipコマンドでエラーが発生します。私は立ち往生していて、何もできません。
何が原因である可能性があり、どのように修正できますか?
Ubuntu 16.04
とPython 3.5.2
を使用しています
python 3.5.2およびpip3(9.0.1)でも同じ問題に遭遇しました。そして、この回避策に従って修正しました: https://github.com/pypa/setuptools/issues/885#issuecomment-307696027
より具体的には、このファイルの#2121〜2122行を編集しました: "Sudo vim /usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py"
#orig_path.sort(key=position_in_sys_path)
#module.__path__[:] = [_normalize_cached(p) for p in orig_path]
orig_path_t = list(orig_path)
orig_path_t.sort(key=position_in_sys_path)
module.__path__[:] = [_normalize_cached(p) for p in orig_path_t]
Setuptoolsのアップグレードは私のために働いた:
pip3 install --upgrade setuptools
この問題があり、SOおよびGitHubの問題に記載されているすべてのことを試したため、これは奇妙に聞こえるかもしれません。しかし、その後、私はeasyinstallでpipをインストールし、pipコマンドは機能しています。たぶん今、2つのpipパッケージがあります。しかし、エラーはなくなりました。
easy_install pip
virtualenv
を使用していますが、setuptoolsのアップグレードが機能しませんでした。動作したのは この回避策 :
pip uninstall setuptools -y && pip install setuptools
さらに別の答えですが、以下は最終的に私のために問題を修正したものです。 pip
が危険にさらされたため、それ自体またはsetuptools
のアップグレードに使用できず、easy_install
を使用しても同じ問題が発生していました。そこで、pip
を使用してPython
をインストールしようとしました。
答え:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip install --upgrade setuptools
これはおそらく、依存関係が台無しになったことを意味します。
Pip3をゼロからアンインストールしてみてください。正常に機能するはずです。
動作しない場合は、pip
インストールを削除してください。あなたの場合:
rm -r /home/alexg/.local/lib/python3.5/site-packages/pip/
そして、次回のために、 仮想環境 :)で作業するのが最善です
上記の提案されたソリューションのほとんどを試しましたが、pip3が完全に機能していなかったので何も機能しませんでしたが、これを見つけました: https://deeptalk.lambdalabs.com/t/trying-to-uninstall-tensorflow-or- matplotlib-pip-package-throws-attributeerror--namespacepath-object-has-no-attribute-sort/31
これはおそらく私たちのほとんどの問題だと思います。提案された解決策を試してみましたが、pip3は再び機能します。
私にとって、matplotlibはdist-packagesに存在していませんでしたが、代わりにsite-packagesに存在していたので、私のために働いたコマンドは次のとおりでした:
Sudo rm ~/.local/lib/python3.5/site-packages/matplotlib-3.0.3-py3.5-nspkg.pth
もちろん、matplotlibのバージョンと場所に基づいて上記のパスを変更する必要があります。
試してみてください-pip install -U pip
pip install -U setuptools
__init__.py
を編集しても解決しない場合。
試してください:Sudo easy_install pip
その後
Sudo easy_install setuptools
おそらく、混乱した依存関係が原因です。
これを次のように修正しました。
$curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
Python2の場合:
$python get-pip.py
Python3の場合:
$python3 get-pip.py
今では私のために動作します。
投稿された他の回答のどれも私のために働いていませんでしたが、フォローコマンドを実行するとtが解決しました:
Sudo apt-get purge --auto-remove python3-pkg-resources python3-setuptools
詩を使っても同じ問題がありました。
ランニング
poetry run pip install --upgrade pip setuptools
の代わりに
pip install --upgrade pip setuptools
問題を修正しました。
私は一貫してこの問題を抱えていました(そして、python3インタープリターでpipを使用するために以下の回避策を使用しました)。驚いたことに、numpyのすべてのバージョンをアンインストールし、最新バージョンを再インストールした後、pipは再び機能し始めました。私は何が起こったのか確実に言うことはできませんが、他のすべてが失敗した場合、それは試してみるべきものかもしれません。
回避策(覚えていないいくつかのソースからまとめた)は
これが転写です:
>>> import pip
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py",
__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 "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 13,
from pip.exceptions import InstallationError, CommandError, Pi
File "/usr/lib/python3/dist-packages/pip/exceptions.py", line 6,
from pip._vendor.six import iteritems
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", l
vendored("pkg_resources")
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", l
__import__(modulename, globals(), locals(), level=0)
.
etc
.
AttributeError: '_NamespacePath' object has no attribute 'sort'
>>> import pip
>>> pkgs = ['asciiplotlib']
>>> pip.main(['install'] + pkgs + ['--upgrade'])
Collecting asciiplotlib
Using cached https://files.pythonhosted.org/packages/15/c5/46a2d
Installing collected packages: asciiplotlib
Successfully installed asciiplotlib-0.1.8
Pip、setuptoolsの再インストールなど、あらゆる種類の方法を試しても、まだ問題を解決できません。 https://github.com/pypa/pip/issues/4216#issuecomment-28634868 の指示に従いますが、外部の警告が表示されます。その後、pipを使用してmatplotlibをアンインストールします。最後に、すべてのものは大丈夫のようです。
これと同じ問題があり、pip3でコマンドを実行できませんでした(pip3 install --upgrade pip setuptools
などのコマンドを含む)。
私が見つけた唯一の修正は、python 3(Sudo apt-get remove python3
、Sudo apt-get install python3
、Sudo apt install python3-pip
)を完全にアンインストールして再インストールすることでしたが、pip3は再び正常に動作するようになりました。