【问题标题】:OS X 10.8: Repairing badly broken Python install, path vars, modulesOS X 10.8:修复严重损坏的 Python 安装、路径变量、模块
【发布时间】:2013-04-03 18:44:55
【问题描述】:

很抱歉再次发布此类问题,我已经广泛寻找并找不到答案。

我是一个 Python 小白,对 Unix 的掌握很松散。

我特别需要在Python2.5中开发。我还需要访问 AppKit。我通过universal installer 安装了Python2.5 以及我需要的库。当时,默认的操作系统安装 2.7 能够导入 AppKit。同时,Python2.5 不能。我发现this tutorial 用于替换 Python 的本机安装,并认为如果我按照它的字面意思进行操作,但将 2.7 安装换成 2.5,一切都会好起来的。

按照教程,我的原生 Python 确实是 2.5。但是,AppKit 仍然无法导入(即“没有名为 AppKit 的模块”)。

  • Xcode 是 v.4.6.1 并且安装了 CL 工具
  • 来自 bash,which python 返回 /usr/bin/python
  • 我的主要安装位置是:/System/Library/Frameworks/Python.framework,带有指向/Library/Frameworks/Python.framework 的符号链接。二进制文件同样是链接的; usr/bin/python(和 pythonw、python-config、pydoc)都符号链接到 /usr/local/bin
  • 我已在我找到的每个位置删除了 smtpd.py
  • 我在/usr/bin/usr/local/bin 都留下了easy_install(和easy_install-2.5/6/7) 因为我从未使用过 easy_install,也不知道如何处理它。

我完全清楚我把一切都搞砸了。谁能告诉我我需要做什么才能让事情恢复正常?

更新: 按照下面的 cmets,我确实最终重新安装了 Mountain Lion。再轻松不过了;我确实正确安装了 AppKit,一旦重新安装了原生 Python,我就可以立即工作。

【问题讨论】:

  • sys.path 的值是多少? AppKit 是否在这些目录下?
  • print sys.path 返回以下内容,AppKit 不存在于任何这些目录中(我不知道它在哪里;接下来:github.com/gregneagle/Xcode4CocoaPythonTemplates,它第一次可用,当我仍然安装了 2.7。/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip 其余的都有相同的基本路径:/python2.5/python2.5/plat-darwin/python2.5/plat-mac/python2.5/plat-mac/lib-scriptpackages/python2.5/lib-tk/python2.5/lib-dynload/python2.5/site-packages

标签: python macos appkit python-2.5


【解决方案1】:

看来您度过了艰难的一天。让我给你一些指导:

  • 当互联网上的随机指令没有专门为您提供恢复到原始状态的指令时,通常是个坏主意。 “继续,rm -rf 来自 /usr/bin 的东西”是一个危险信号。有经验的管理员总是把它移开,重命名,并且知道删除总是一个坏主意。
  • 必须在安装的每个版本中运行多个 Python 版本和多个库是经过验证和测试的解决方案的标准问题。不要删除 python 安装,更不要删除默认安装。了解如何使用virtualenv-burrito。了解如何将 pip 安装到您的 virtualenvs 中。为您从事的每个项目保留一个 virtualenv。了解如何为您从事的每个项目定义并保持更新的 requirements.txt 文件。
  • 一旦你理解了所有这些(如果你不理解,你只会重复同样的东西)。现在要解决您的问题,我会使用时间机器回到 24 小时前的某个时间点,然后继续以正确的方式做事。

【讨论】:

  • 唉。没有时间机器。我知道我在冒不安全的风险,我只是不耐烦(法律,这让我来到了这里)。在没有 TimeMachine 备份的情况下,我是否只需要重新安装 OS X?
  • 我现在会(遗憾地)重新安装 OSX。最好现在就解决这个问题,然后在几个月或几周后发现你最终破坏了某些东西并有更多的清理工作要做。
  • 我同意@Jonathan Vanasco。您可能总是会因执行此安装而遗留问题。刚开始清洁会更快。请参阅 Jonathan 的答案链接的问题。
  • 这就是为什么设计师不应该想象自己是开发者,哈哈哈。感谢您的建议,我将自己进行全新安装。 ;)
  • 经常重新安装它实际上是非常健康和好的,足以重视你正在做的事情并贬低不重要的东西:)
【解决方案2】:

替换默认的 Python 是一个非常非常糟糕的主意(Remove preinstalled python from Mac OSX 10.8For real, too many installations of Python on OSX Mountain Lion

您应该尝试通过任何方式回滚您的机器(carlosdc 建议使用 timemachine - 如果您有快照,那将是一个不错的选择)。

您可以使用virtualenv 创建自定义环境

您还可以使用 shell 脚本和用户的 .profile/.bash 来指定应该优先考虑哪个 Python 版本。

【讨论】:

    【解决方案3】:

    我也遇到了这个问题,只是再次安装python,从official website下载它来修复它

    ps:我的操作系统是 el capitan

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 2020-06-03
      • 2020-01-16
      • 2010-10-23
      • 1970-01-01
      • 2013-07-19
      • 2013-06-17
      • 2012-03-15
      • 1970-01-01
      相关资源
      最近更新 更多