【问题标题】:How to uninstall Python 2.7 on a Mac OS X 10.6.4?如何在 Mac OS X 10.6.4 上卸载 Python 2.7?
【发布时间】:2011-04-18 16:19:58
【问题描述】:

我想从我的 Mac OS X 10.6.4 中完全删除 Python 2.7。通过还原我的.bash_profile,我设法从PATH 变量中删除了该条目。但我还想删除所有由 Python 2.7 安装包安装的目录、文件、符号链接和条目。我有来自http://www.python.org/ 的安装包。我需要删除哪些目录/文件/配置文件条目?某处有清单吗?

【问题讨论】:

    标签: python macos uninstallation python-2.7


    【解决方案1】:

    不要尝试删除任何 Apple 提供的系统 Python,它们位于 /System/Library/usr/bin 中,因为这可能会破坏您的整个操作系统。


    注意: 下面列出的步骤影响 Apple 提供的 Python 2.7;他们只删除了第三方 Python 框架,例如 python.org installers 安装的那些。


    完整列表为documented here。基本上,您需要做的就是:

    1. 移除第三方 Python 2.7 框架

       sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
      
    2. 删除 Python 2.7 应用程序目录

       sudo rm -rf "/Applications/Python 2.7"
      
    3. 删除/usr/local/bin 中指向此 Python 版本的符号链接。看到他们使用

       ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' 
      

    然后运行以下命令删除所有链接:

        cd /usr/local/bin/
        ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
    
    1. 如有必要,编辑您的 shell 配置文件以删除将 /Library/Frameworks/Python.framework/Versions/2.7 添加到您的 PATH 环境文件。根据您使用的 shell,可能已修改以下任何文件: ~/.bash_login~/.bash_profile~/.cshrc~/.profile~/.tcshrc~/.zshrc 和/或~/.zprofile

    【讨论】:

    • 感谢 Ned 的提醒,我确实删除了它,并发现您必须重新安装 Mac OS X我做了同样的事情。不要在 /System/Library/Frameworks/... 中删除 Python。您的应用程序都无法运行,您必须重新安装 OS X。
    • Python 2.7 是最近系统上的默认系统 Python,而在 10.6.4 上它是 2.6,而 2.7 是用户安装的。不要从最近的 OS X 系统卸载 2.7。
    • 上述步骤不会从 any 版本的 OS X 中删除系统 Python。系统 Python 安装在 /System/Library/Frameworks(您永远不应该修改)中,而不是 @987654340 @.
    • brew doctor 也可用于查找未使用的符号链接。
    • 谢谢,谢谢@Martijn Pieters。我差点把我的 Mac 搞砸了。我试图安装 cx_Oracle,它默认为 python2.7,但我正在使用 Python 3.7。无需卸载 Python 2.7。只需安装 Python3.x 并使用:python3 -m pip install cx_Oracle --upgrade 而不是 python -m pip install cx_Oracle --upgrade(注意 3 表示安装 Python 3.x)。
    【解决方案2】:

    这个有效:

    cd /usr/local/bin/
    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
    

    说明: 它列出所有链接,删除@ 字符,然后删除它们。

    【讨论】:

    • 我尝试了这里提供的所有答案,这就是最终成功的答案。
    【解决方案3】:

    创建指向最新版本的符号链接

     ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python
    

    关闭并打开一个新终端

    试试看

     python --version
    

    【讨论】:

    • 非常感谢,同样的方法也适用于 pip " ln -s -f /usr/local/bin/pip3 /usr/local/bin/pip " 然后 " pip --version" 如果你想升级 pip 使用这个命令“pip install --upgrade pip”
    • 或者尝试/usr/bin/而不是/usr/local/bin/,具体取决于您的OSX
    • 非常感谢。
    • 非常感谢,它也适用于 macOS Monterey。
    【解决方案4】:

    如果您使用 PKG 安装程序安装它,您可以这样做:

    pkgutil --pkgs
    

    或更好:

    pkgutil --pkgs | grep org.python.Python
    

    这将输出如下内容:

    org.python.Python.PythonApplications-2.7
    org.python.Python.PythonDocumentation-2.7
    org.python.Python.PythonFramework-2.7
    org.python.Python.PythonProfileChanges-2.7
    org.python.Python.PythonUnixTools-2.7
    

    您现在可以选择要取消链接(删除)的包。

    这是取消链接的文档:

     --unlink package-id
                 Unlinks (removes) each file referenced by package-id. WARNING: This command makes no attempt to perform reference counting or dependency analy-
                 sis. It can easily remove files required by your system. It may include unexpected files due to package tainting. Use the --files command first
                 to double check.
    

    在我的示例中,您将输入

    pkgutil --unlink org.python.Python.PythonApplications-2.7
    pkgutil --unlink org.python.Python.PythonDocumentation-2.7
    pkgutil --unlink org.python.Python.PythonFramework-2.7
    pkgutil --unlink org.python.Python.PythonProfileChanges-2.7
    pkgutil --unlink org.python.Python.PythonUnixTools-2.7
    

    或单行:

    pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink
    

    重要提示:--unlink 从 Lion 开始不再可用(截至 2014 年第一季度,包括 Lion、Mountain Lion 和 Mavericks)。如果有人按照此说明尝试将其与 lion 一起使用,则应尝试根据本文所说的内容进行调整:https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X

    【讨论】:

    • 不幸的是,依赖于pkgutil 不会删除 Python 安装程序安装的所有文件,因为其中一些文件是在安装后飞行脚本期间创建的,因此未注册。
    【解决方案5】:

    尝试使用

    卸载 Python
    brew uninstall python
    

    不会删除本机安装的 Python,而是删除使用 brew 安装的版本。

    【讨论】:

    • 我必须多次这样做才能摆脱我拥有的所有随机版本
    • 您也可以使用brew uninstall python@3.8卸载特定版本
    【解决方案6】:

    无需卸载它或使用符号链接发疯,只需使用alias。我在升级到 python 3.7.1 时遇到了同样的问题。
    只需使用brew install python 安装新的python 版本,然后在.bash_profile 中创建一个指向新python 版本的别名;像这样:alias python="/usr/local/bin/python3" 然后保存并运行source ~/.bash_profile
    完成。

    【讨论】:

      【解决方案7】:

      关于删除符号链接,我发现这很有用。

      find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete
      

      【讨论】:

      • 这比在接受的答案中解析ls 的输出要好得多
      【解决方案8】:

      从 python 2.7.16 升级到 python 3.9 时我遇到了同样的问题只需使用 brew install python 安装新的 python 版本或下载并安装到您的操作系统然后

      1. sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
        
      2. sudo rm -rf "/Applications/Python 2.7"
        
      3. ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'
        
      4. 然后检查 -> python --version

      5. 在您的.bash_profile 中创建一个指向新python 版本的别名;像这样:

        alias python="/usr/local/bin/python3" 
        

        然后保存并运行源代码~/.bash_profile

      6. 检查 -> python --version

      一切就绪

      【讨论】:

        【解决方案9】:

        无需卸载旧的python版本。

        只需安装新版本说 python-3.3.2-macosx10.6.dmg 并将python的软链接改成新安装的python3.3

        使用以下命令检查默认python和python3.3的路径

        “哪个python”和“哪个python3.3”

        然后删除已有的python软链接,指向python3.3

        【讨论】:

        • 谢谢,但这并不能回答我的问题。问题不在于我是否需要卸载旧的 python 版本才能安装新版本。
        • 这似乎是最安全的方法,因为对我来说,弄乱操作系统放在机器上的东西通常不会那么好。在遇到 python2 shell 中的 python3 语句的语法问题后,我也“从python.org 获取了安装包”。我的第一个想法是删除 python2 并改用 python3。但是,从之前的帖子中可以确认该行动的危险性。这对我来说是更好的解决方案,并遵循“使用链接重新路由行为”的想法。另外,python3 shell 已经安装好了,只需要在提示符下输入“python3”而不是“python”。
        • @minhas23 如何删除软链接并新建一个?
        【解决方案10】:

        Onur Güzel 在他的博文"Uninstall Python Package from OS X 中提供了解决方案。

        您应该在终端中输入以下命令:

        1. sudo rm -rf /Library/Frameworks/Python.framework

        2. cd /usr/local/bin

        3. ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm

        4. sudo rm -rf "/Applications/Python x.y"

          其中命令 x.y 是安装的 Python 版本。根据你的问题,应该是2.7。

        用 Onur 的话来说:

        警告:此命令将删除所有随包安装的 Python 版本。系统提供的 Python 不受影响。

        如果您从 python.org 安装了超过 1 个 Python 版本,则再次运行第四个命令,为要卸载的每个 Python 版本更改“x.y”。

        【讨论】:

        • 这解决了我的问题,我有 2.7.10 和 brew 安装了 2.7.15,当我运行“python”时,2.7.10 仍然显示不是 2.7.15,在你的帮助下一切正常现在,谢谢你
        【解决方案11】:

        注意如果您使用 Homebrew 安装 Python,则可以按照以下步骤操作,否则请寻找其他解决方案!


        要卸载您使用 Homebrew 安装的 Python 2.7.10,您只需发出以下命令:

        brew uninstall python
        

        同样,如果您想卸载 Python 3(您使用 Homebrew 安装的):

        brew uninstall --force python3
        

        【讨论】:

          【解决方案12】:

          这在 Mac OS 上对我有用

          1. https://www.python.org/downloads/mac-osx/下载最新的Python 3.x

          2. 通过单击安装程序时显示的安装步骤来安装 Python 3.x

          3. ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python

          4. ln -s -f /usr/local/bin/pip3 /usr/local/bin/pip

          5. 打开一个新的终端窗口并验证python --version。应该说 3.x

          对于第 3 步,通过检查 which python 的输出来确认现有 python 可执行文件的路径

          【讨论】:

            【解决方案13】:

            在安装了python3brew 的MacOS 上:

            sudo ln -s -f /opt/homebrew/bin/python3 /usr/local/bin/python
            sudo ln -s -f /opt/homebrew/bin/pip3 /usr/local/bin/pip
            

            重新打开终端

            python --version
            pip --version
            

            【讨论】:

              【解决方案14】:

              如果您正在考虑手动删除 Apple 的默认 Python 2.7,我建议您先挂机并注意:看起来 Apple 很快就会为您执行此操作:

              Python 2.7 在 OSX 10.15 Catalina 中已弃用

              Python 2.7- 以及 Ruby 和 Perl- 在 Catalina 中已弃用:(跳至“脚本语言运行时”部分 > “弃用")

              https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes

              Apple 将在 OSX 10.16 中删除 Python 2.7

              确实,如果您什么都不做,根据Mac Observer的说法,到 OSX 版本 10.16,Python 2.7 将从您的系统中消失:

              https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/

              鉴于这一发现,我建议最好的做法是什么都不做,等待 Apple 为您清除。由于 Apple 即将为您删除它,因此冒着修补 Python 环境的风险似乎不值得。

              注意:我看到这个问题与 OSX v 10.6.4 相关,但似乎这个问题已成为所有有兴趣删除 OSX 的人的关键点他们系统中的 Python 2.7,无论他们运行的是什么版本。

              【讨论】:

              • 10.14.6 我不认为它仍然被删除,
              • 好像不会有10.16,而是直接11.0(大苏尔)。我们还在等待!
              【解决方案15】:

              尝试删除某些 python 库时要小心,Mac OS 需要 python! 不要删除以下文件夹中的任何 Python 版本:

              /usr/bin
              system/Library
              

              这些 Python 2.7 版本由 Apple 安装并供 Mac OS 和其他软件使用。从这些目录中删除 Python 可能会破坏您的系统。

              【讨论】:

                【解决方案16】:

                在这里您将看到所有预装的 python 版本,包括 2.3、2.4 甚至 2.7。

                /System/Library/Frameworks/Python.framework/Versions

                但是,即使使用 sudo 我不这么认为,您也可以删除它们。你会得到一个错误 - Operation not permitted

                【讨论】:

                  猜你喜欢
                  • 2016-06-25
                  • 2011-04-07
                  • 2011-08-03
                  • 2019-06-26
                  • 2011-12-30
                  • 2014-08-24
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多