在进行系统更新后,当试图调用pip (或pip3.7或pip3)时,会收到此错误:
$ pip3.7
Traceback (most recent call last):
File "/usr/bin/pip3.7", line 11, in <module>
load_entry_point('pip==19.0.3', 'console_scripts', 'pip3.7')()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point
return ep.load()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2434, in load
return self.resolve()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2440, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.7/site-packages/pip/_internal/__init__.py", line 40, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/usr/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/usr/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
from pip._internal.cli import cmdoptions
File "/usr/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py", line 22, in <module>
from pip._internal.utils.hashes import STRONG_HASHES
File "/usr/lib/python3.7/site-packages/pip/_internal/utils/hashes.py", line 10, in <module>
from pip._internal.utils.misc import read_chunks
File "/usr/lib/python3.7/site-packages/pip/_internal/utils/misc.py", line 24, in <module>
from pip._vendor.retrying import retry # type: ignore
ModuleNotFoundError: No module named 'pip._vendor.retrying'相关目录似乎存在,并由正确的包拥有。
$ ls /usr/lib/python3.7/site-packages/pip/_vendor
__init__.py __pycache__
$ sudo pacman -Qo /usr/lib/python3.7/site-packages/pip/_vendor
/usr/lib/python3.7/site-packages/pip/_vendor/ is owned by python-pip 19.0.3-1卸载和重新安装没有什么区别。
$ sudo pacman -Rv --noconfirm python-pip
Root : /
Conf File : /etc/pacman.conf
DB Path : /var/lib/pacman/
Cache Dirs: /var/cache/pacman/pkg/
Hook Dirs : /usr/share/libalpm/hooks/ /etc/pacman.d/hooks/
Lock File : /var/lib/pacman/db.lck
Log File : /var/log/pacman.log
GPG Dir : /etc/pacman.d/gnupg/
Targets : python-pip
checking dependencies...
:: python optionally requires python-pip
Packages (1) python-pip-19.0.3-1
Total Removed Size: 1.06 MiB
:: Do you want to remove these packages? [Y/n]
:: Processing package changes...
(1/1) removing python-pip [########################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
$ sudo pacman -Qo /usr/lib/python3.7/site-packages/pip/_vendor
error: No package owns /usr/lib/python3.7/site-packages/pip/_vendor
$ ls /usr/lib/python3.7/site-packages/pip/_vendor
ls: cannot access '/usr/lib/python3.7/site-packages/pip/_vendor': No such file or directory
$ ls /usr/lib/python3.7/site-packages/pip
ls: cannot access '/usr/lib/python3.7/site-packages/pip': No such file or directory
$ pip3.7
bash: /usr/bin/pip3.7: No such file or directory
$ sudo pacman -Sv --noconfirm python-pip
Root : /
Conf File : /etc/pacman.conf
DB Path : /var/lib/pacman/
Cache Dirs: /var/cache/pacman/pkg/
Hook Dirs : /usr/share/libalpm/hooks/ /etc/pacman.d/hooks/
Lock File : /var/lib/pacman/db.lck
Log File : /var/log/pacman.log
GPG Dir : /etc/pacman.d/gnupg/
Targets : python-pip
resolving dependencies...
looking for conflicting packages...
Packages (1) python-pip-19.0.3-1
Total Installed Size: 1.06 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [########################################################################################] 100%
(1/1) checking package integrity [########################################################################################] 100%
(1/1) loading package files [########################################################################################] 100%
(1/1) checking for file conflicts [########################################################################################] 100%
(1/1) checking available disk space [########################################################################################] 100%
:: Processing package changes...
(1/1) installing python-pip [########################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
$ sudo pacman -Qo /usr/lib/python3.7/site-packages/pip/_vendor
/usr/lib/python3.7/site-packages/pip/_vendor/ is owned by python-pip 19.0.3-1
$ ls /usr/lib/python3.7/site-packages/pip/_vendor
__init__.py __pycache__
$ pip3.7
Traceback (most recent call last):
File "/usr/bin/pip3.7", line 11, in <module>
load_entry_point('pip==19.0.3', 'console_scripts', 'pip3.7')()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point
return ep.load()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2434, in load
return self.resolve()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2440, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.7/site-packages/pip/_internal/__init__.py", line 40, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/usr/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/usr/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
from pip._internal.cli import cmdoptions
File "/usr/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py", line 22, in <module>
from pip._internal.utils.hashes import STRONG_HASHES
File "/usr/lib/python3.7/site-packages/pip/_internal/utils/hashes.py", line 10, in <module>
from pip._internal.utils.misc import read_chunks
File "/usr/lib/python3.7/site-packages/pip/_internal/utils/misc.py", line 24, in <module>
from pip._vendor.retrying import retry # type: ignore
ModuleNotFoundError: No module named 'pip._vendor.retrying'python3 -c "import ssl"运行没有问题。python-requests可能失踪了,但它就在那里。卸载和重新安装没有什么区别。python-setuptools可能失踪了,但它就在那里。卸载和重新安装没有什么区别。pip uninstall pkg-resources==0.0.0,但这当然失败了,因为pip没有启动。curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3重新安装pip。我没试过。我不想这样做,因为我认为这会导致依赖噩梦。值得注意的是,我以前有不同的python 3版本。我不得不临时安装3.6从8月,因为我必须工作的软件,不工作的3.7。但它现在已经消失了,只剩下3.7标准了。
系统为ArchLinux5.2.1,python为3.7.3。
发布于 2019-11-23 21:43:49
您可以尝试直接从python (或python3)重新安装损坏的python,而不是使用系统包管理器(pacman)。请注意Arch,但对我来说,它解决了Ubuntu16.04上的类似问题(ModuleNotFoundError: No module named 'pip._vendor.retrying'):
$ sudo python -m pip install --upgrade piphttps://stackoverflow.com/questions/57097514
复制相似问题