系统更新后,尝试调用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'
ssl与此相关,但是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。我没有尝试。我宁愿不这样做,因为我认为它将以某种方式导致依赖性梦night
可能值得注意的是,我曾经有不同的python 3版本。我必须从AUR临时安装3.6,因为必须使用不能与3.7配合使用的软件。但是3.6版现在已经消失了,只剩下标准3.7版。
系统是Arch Linux 5.2.1,python是3.7.3。
答案 0 :(得分:2)
您可以尝试直接从pip
(或python
)重新安装损坏的python3
,而不要使用系统软件包管理器(pacman
)。请注意肯定有关Arch Linux,但对我来说,它解决了Ubuntu 16.04上的类似问题(ModuleNotFoundError: No module named 'pip._vendor.retrying'
):
$ sudo python -m pip install --upgrade pip