首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python在Arch上似乎被破坏了(没有模块名为“pip._vendor.retrying”)

python在Arch上似乎被破坏了(没有模块名为“pip._vendor.retrying”)
EN

Stack Overflow用户
提问于 2019-07-18 14:59:49
回答 1查看 4.5K关注 0票数 4

在进行系统更新后,当试图调用pip (或pip3.7pip3)时,会收到此错误:

代码语言:javascript
复制
  $ 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'

相关目录似乎存在,并由正确的包拥有。

代码语言:javascript
复制
  $ 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

卸载和重新安装没有什么区别。

代码语言:javascript
复制
  $ 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'

Other suggested solutions包括

  • 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。我没试过。我不想这样做,因为我认为这会导致依赖噩梦。

值得注意的是,我以前有不同的python 3版本。我不得不临时安装3.6从8月,因为我必须工作的软件,不工作的3.7。但它现在已经消失了,只剩下3.7标准了。

系统为ArchLinux5.2.1,python为3.7.3。

EN

回答 1

Stack Overflow用户

发布于 2019-11-23 21:43:49

您可以尝试直接从python (或python3)重新安装损坏的python,而不是使用系统包管理器(pacman)。请注意Arch,但对我来说,它解决了Ubuntu16.04上的类似问题(ModuleNotFoundError: No module named 'pip._vendor.retrying'):

代码语言:javascript
复制
$ sudo python -m pip install --upgrade pip
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57097514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档