【问题标题】:Uninstall python.org version of python2.7 in favor of default OS X python2.7卸载 python.org 版本的 python2.7 以支持默认 OS X python2.7
【发布时间】:2012-11-24 05:33:39
【问题描述】:

我运行的是 OS X 10.8.2,我相信默认情况下它是 Python 2.7.3 附带的。我之前从 python.org 安装了 Python 2.7.2,并且想废弃它以基本上将我系统的默认 python 重置为预安装的。原因是每当我启动任何 *.py 文件 IDLE 时都拒绝打开(即使指定了我安装的 Python2.7.2 IDLE)并且我想让事情保持最新。

虽然我从不使用它,但我确实安装了 MacPorts,而且我看到它对我的 Python 路径做了很多事情 - 特别是将我的 Python 2.7 路径更改为“/Library/Frameworks/Python.framework/Versions/ 2.7/bin:${PATH}",所以我不知道这是否有区别。

有人可以在这里推荐一个行动方案吗?如果需要,我很乐意提供更多信息。

【问题讨论】:

  • 我很想回答这个问题,但不幸的是我不知道。你已经踏入了危险的水域,在 OS X 上安装了多个版本的东西。也许可以尝试查看安装 DVD/图像,看看是否有原始 python 的安装程序?
  • 是的,不幸的是,我在这里很深。我很确定python安装只是与OS X捆绑在一起并且不能独立使用..我总是可以重新格式化并恢复我的文档/用户,但我害怕失去太多,我只会浪费我的时间

标签: python-2.7 osx-mountain-lion


【解决方案1】:

python.org python 安装包含三个需要删除的东西。这些步骤对我有用:

  1. 删除实际的 Python 安装:

    rm -rf /Library/Frameworks/Python.framework
    
  2. 通过删除/Applications/Python 2.7 处的文件夹来移除 Python.org 的额外应用程序:

    rm -rf /Applications/Python\ 2.7
    
  3. /usr/local/bin 目录中删除指向 python 可执行文件的符号链接:

    find /usr/local/bin -type l -and -lname "/Library/Frameworks/Python.framework*" -delete
    
  4. 从您的 bash 启动脚本中删除或注释掉这些行(~/.profile~/.bash_profile):

    # Setting PATH for Python 2.7
    # The orginal version is saved in .profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
    export PATH
    

其中一些步骤可能需要超级用户权限,例如sudo。完成此操作后,您应该只有原来的 Mac。

基于http://docs.python.org/2/using/mac.html的文档

【讨论】:

  • 黄金答案。官方文档写道:“要卸载 MacPython,你可以简单地删除这三个东西。”令人困惑的是,“这些东西”既指前面的项目符号,也指前面的句子和句子之后。感谢您清理“事情”。附言在 Python 2.6 上,/usr/local/bin 符号链接是相对的,所以我在第 3 步中的-lname 参数只是"*Python.framework*"。我首先在没有-delete 的情况下运行,以确保它只会删除预期的内容。
  • 您能否补充一下您的答案:'如果在执行 rm -rf /Library/Frameworks/Python.framework 时遇到 Permission denied 错误怎么办"
  • 我不得不将第 3 步修改为 /usr/bin 而不是 /usr/local/bin/。我安装了 2.7 和 3.7。 3.7被正确删除。但是,在第 3 步之后,我仍然在 /usr/bin 中有 python2.7 信息。“pydoc python python2.7 pythonw pydoc2.7 python-config python2.7-config pythonw2.7”
  • @Valentyn 不要乱用 macOS 在 /usr/bin 中安装的 Python!也就是说,我还必须修改第 3 步,因为到框架的符号链接是相对的。所以改用-lname "../../../Library/Frameworks/Python.framework*"
猜你喜欢
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
  • 2015-02-03
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多