删除某些内容后如何在 OS X Yosemite 上恢复 python?

2024-01-30

我想我之前是通过homebrew安装了python。这不是一个好主意,但我做到了:

$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ sudo rm -R /Library/Frameworks/Python.framework/Versions/2.7/bin/python

..然后终端告诉我...

$ which python
/usr/local/bin/python

但是当我再次运行 python 时

$ python
-bash: /Library/Frameworks/Python.framework/Versions/2.7/bin/python: No such file or directory

所以我这样做了:

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

现在 python 确实在我的终端上运行,但我想知道是否最好将某些内容放回我删除它的位置,以及如何“恢复”python 在我弄乱它之前的状态?

Thanks!


你这里有很多问题。

让我们从这个开始:

/Library/Frameworks/Python/2.7既不是 Apple Python,也不是 Homebrew Python。你显然安装了一个thirdPython,可能来自官方 python.org 二进制安装程序。删除该选项不会影响 Homebrew 版本。

/usr/local/bin/python也不是Apple Python。它可能是指向您的第三个 Python 或 Homebrew Python 的符号链接,但它不是来自 Apple。

以下是每个 Python 的运行位置:

  • Apple 的 Python 已在/System/Library/Frameworks/Python/2.7。它还包括各种包装可执行文件/usr/bin, 包括/usr/bin/python,该点在/System框架。使用该 Python 安装的任何额外内容(例如,通过easy_install or pip),包括可执行文件或脚本将进入/usr/local/bin, not /usr/bin,但苹果预装的东西从来不会。

  • 大多数第三方二进制安装程序安装到/Library/Frameworks/Python/2.7。不同版本可以选择添加框架的bin目录到您的路径,或将二进制文件符号链接到/usr/local/bin.

  • Homebrew 安装到类似的地方/usr/local/Cellar/python/2.7.8,然后将各种可执行文件和脚本符号链接到/usr/local/bin.

所以,事实上,你正试图通过确保回到 Apple Python/usr/local/bin在你的 PATH 上已经朝着错误的方向前进了。


同时,永远不要手动删除 Homebrew 安装的东西,除非brew doctor告诉你。只需使用brew uninstall python—或者,如果您想暂时将其移开,并可以选择稍后恢复,brew unlink python.


最后,即使在改变你的PATH,shell 可能已经缓存了要查找的最佳位置python,所以要么阅读hash命令,或者,如果您不想了解有关 bash 的更多信息,只需确保打开一个新 shell(例如,通过在 Terminal.app 中打开一个新选项卡)。


无论如何,你怎样才能回到原来的地方呢?

您需要彻底卸载both额外的Python。我已经解释了如何使用上面的 Homebrew 来做到这一点。对于第三个,你已经完成了大部分工作,但显然还有一些东西被遗漏了/usr/local/bin。如果它们都是悬挂的符号链接,就像最有可能的那样,您可以很容易地找到它们,例如,ls -l /usr/local/bin |grep /Library/Frameworks/Python.framework |grep -v /System.

完成后,只需启动一个新的 shell,然后which python应该告诉你/usr/bin/python,一切都会再次幸福。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除某些内容后如何在 OS X Yosemite 上恢复 python? 的相关文章

  • 无法“安装”plpython3u - postgresql

    我正在尝试在 postgresql 中使用 python 语言 像这样的事情 create or replace function test a integer returns integer as if a 2 0 return even
  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐