python - Pip 升级失败,错误为 : Invalid requirement: '\xe2\x80\x93upgrade'

标签 python python-3.x macos pip

我尝试使用以下方式升级 pip:

pip install –upgrade setuptools pip wheel

并出现以下错误:

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support

ERROR: Invalid requirement: '\xe2\x80\x93upgrade'

完成后:

sudo pip install --upgrade setuptools pip wheel

我收到以下错误:

ERROR: Could not install packages due to an EnvironmentError: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', '/private/tmp/pip-uninstall-MzJySA/markers.pyc', "[Errno 1] Operation not permitted: '/private/tmp/pip-uninstall-MzJySA/markers.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/init.py', '/private/tmp/pip-uninstall-MzJySA/init.py', "[Errno 1] Operation not permitted: '/private/tmp/pip-uninstall-MzJySA/init.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py', '/private/tmp/pip-uninstall-MzJySA/markers.py', "[Errno 1] Operation not permitted: '/private/tmp/pip-uninstall-MzJySA/markers.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/init.pyc', '/private/tmp/pip-uninstall-MzJySA/init.pyc', "[Errno 1] Operation not permitted: '/private/tmp/pip-uninstall-MzJySA/init.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib', '/private/tmp/pip-uninstall-MzJySA', "[Errno 1] Operation not permitted: '/private/tmp/pip-uninstall-MzJySA'")]

如何在 OSX 上修复该问题?

最佳答案

\xe2\x80\x93 是 Unicode 字符 EN DASH U+2013 的 UTF-8 编码它与通常表示选项名称的双 ASCII 减号字符完全不同(尽管在视觉上隐约相似)。

您需要--upgrade,而不是--upgrade

有时,例如博客平台“有帮助地”用“排版”HTML 等价物替换 ASCII 序列,例如破折号、引号等,这样更赏心悦目,但此类替换永远不应该在 code 跨度中执行。

在 MacOS 上,我强烈警告不要尝试升级系统提供的文件;有时,出于很好的原因,它们会被固定到旧版本,无论如何,如果你弄乱系统文件,你将危及你正确安装 future 操作系统升级的能力。相反,尝试使用一个隔离的环境,您可以在其中升级各个库,而无需触及系统提供的库 - 随 Python 3 安装的 venv 包是基准解决方案,但还有其他替代方案,例如第三种 - party virtualenv 包(如果你真的还停留在 Python 2 上!表示哀悼)、pyenvminiconda

关于python - Pip 升级失败,错误为 : Invalid requirement: '\xe2\x80\x93upgrade' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57257941/

相关文章:

python - __pycache__ 文件夹应该包含在生产容器中吗?

c++ - 在 Mac OSX 中使用 cv::VideoWriter 会产生 "WARNING: Could not create empty movie file container."

java - csc -version 正在终端中运行,但不是从我的 java 程序 MAC 运行

python - 向文章 django createviewforeignkey 添加评论

python - 比较两个 Numpy 数组并在第三个数组中保留不相等的向量

python - 带有 URLLIB2 的客户端摘要身份验证 Python 将不会记住授权 header 信息

python - Python3 定义名称时出现名称错误

python - 无法重命名Python列表中的字段(键,值结构)

python - 如何使用python将json从API插入到snowflake数据库?

macos - Zsh tab 完成复制命令名称