【问题标题】:Pip upgrade failed with ERROR: Invalid requirement: '\xe2\x80\x93upgrade'Pip 升级失败并出现错误:无效要求:'\xe2\x80\x93upgrade'
【发布时间】:2023-03-21 18:26:01
【问题描述】:

我尝试使用以下命令升级 pip:

pip install –upgrade setuptools pip wheel

并得到以下错误:

弃用:Python 2.7 将于 1 月 1 日结束生命周期, 2020. 请升级您的 Python,因为 Python 2.7 在该日期之后将不再维护。未来版本的 pip 将放弃对 Python 的支持 2.7.有关 pip 中 Python 2 支持的更多详细信息,请访问https://pip.pypa.io/en/latest/development/release-process/#python-2-support

错误:无效要求:'\xe2\x80\x93upgrade'

做完之后:

sudo pip install --upgrade setuptools pip wheel

我收到以下错误:

错误:由于环境错误,无法安装软件包: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', '/private/tmp/pip-uninstall-MzJySA/markers.pyc', "[Errno 1] 操作 不允许:'/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] 操作 不允许:'/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] 操作 不允许:'/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] 操作 不允许:'/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] 操作不 允许:'/private/tmp/pip-uninstall-MzJySA'")]

如何在 OSX 上解决这个问题?

【问题讨论】:

  • 我强烈建议不要将系统 python 2.7 用于您正在做的事情。搞砸它可能会导致超出您自己运行python代码的愿望的问题。通过 homebrew 或 python.org 提供的安装程序安装 python2.7。使用它来升级/安装软件包。

标签: python python-3.x macos pip


【解决方案1】:

尝试运行:

pip install --upgrade setuptools pip wheel

带双--

【讨论】:

    【解决方案2】:

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

    你想要--upgrade,而不是–upgrade

    有时例如博客平台“有用地”将 ASCII 序列(如破折号、引号等)替换为更美观的“印刷”HTML 等效项,但此类替换绝不应在 code 跨度中执行。

    在 MacOS 上,我会认真提醒不要尝试升级系统提供的文件;有时,出于非常充分的理由,它们被固定到旧版本,不管怎样,如果您弄脏系统文件,您将危及您正确安装未来操作系统升级的能力。相反,请尝试使用隔离环境,您可以在其中升级各个库而无需触及系统提供的库 - 与 Python 3 一起安装的 venv 包是基准解决方案,但也有诸如第三方 virtualenv 包之类的替代方案(如果你真的还停留在 Python 2 上!表示哀悼),pyenvminiconda 等。

    【讨论】:

    • 正在工作。新错误是因为您缺乏执行所需操作的权限。如果你有sudo 并且知道你在做什么,那就试试吧;但到目前为止的反馈表明你不知道自己在做什么,所以在开始之前,不妨花点时间了解一下它的含义。
    • MacOS 的最新版本不允许您升级系统文件,您基本上不应该尝试。也许改用 virtualenv。然后,您可以准确安装您想要的版本,而不会弄乱和可能破坏您的操作系统所需的库,有时还需要特定版本的库。但这远远超出了您最初问题的范围;您应该在这里接受一个答案,然后如果您仍然需要帮助,可以就您的新问题提出一个单独的问题。
    • 这对我有用,当建议我升级 pip 时,我复制了 Windows 电源外壳中出现的“--”。读完你之后,我决定自己输入整个命令。它在它一直说“错误:无效的要求:'--升级'”之前起作用(换句话说,windows powershell使用一个看起来像“-”的符号,但它不是用于升级的“-”。这样的巫术。 )
    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 2020-04-08
    • 1970-01-01
    • 2018-12-17
    • 2012-12-24
    • 2010-11-22
    • 1970-01-01
    • 2022-07-27
    相关资源
    最近更新 更多