我正在尝试安装以下依赖项:
appdirs==1.4.3
click==6.7
Flask==1.0
itsdangerous==0.24
Jinja2==2.10.1
MarkupSafe==1.0
packaging==16.8
prometheus-client==0.0.19
pyparsing==2.2.0
Werkzeug==0.15.3
但是无论我尝试安装哪个依赖项,都会出现以下错误:
Traceback (most recent call last):
File "/usr/bin/pip", line 11, in <module>
load_entry_point('pip==19.3', 'console_scripts', 'pip')()
File "/usr/lib/python3.8/site-packages/pip/_internal/main.py", line 45, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/usr/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 28, in <module>
from pip._internal.self_outdated_check import (
File "/usr/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py", line 15, in <module>
from pip._vendor.six import ensure_binary
ImportError: cannot import name 'ensure_binary' from 'six' (/usr/lib/python3.8/site-packages/six.py)
出了什么问题?
答案 0 :(得分:0)
在此将答案专门发布给使用Manjaro Linux的人(不建议使用pip
,因为如果使用不正确,可能会破坏环境)。它还可能导致后续发行版更新无法无缝发生,并可能导致需要人工干预。
消除环境损害的解决方案是使用:
sudo pacman -Syu python-pkgname --overwrite='*'
其中pkgname
是要安装的python依赖项的名称。完成此操作后,应该修复环境,然后不再需要应用--overwrite
选项。
整个Python 2和Python 3以及由此产生的pip2和pip3工具分离是疯狂的。