几个月前更新到 Lion 后,我发现所有基于 Python 的应用程序/工具都停止工作了。经过一番研究,我通过重新安装官方 Python 安装程序并更正 PATH 变量解决了这个问题。
但现在,我不太确定一切是否都按应有的方式运行,因为当我尝试使用 Sublime Text 2 时,我收到一个错误报告对话框:
....
Dyld Error Message:
Library not loaded: /System/Library/Frameworks/Python.framework/Versions/2.6/Python
Referenced from: /Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2
Reason: image not found
....
经检查,我的/System/Library/Frameworks/Python.framework/Versions/2.6
文件夹包含:
2.6/
Extras/
Headers/ --(symlink)--> include
include/
lib/
和想象的不Python
一样。
出于好奇,我做了一些调查,发现
/Library/Frameworks/Python.framework
/System/Library/Frameworks/Python.framework
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Python.framework
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Python.framework
/Developer-3.2.6/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Python.framework
/Developer-3.2.6/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Python.framework
还有一些特定于应用程序的分布,但我并不关心这些。
我应该在两个都 /Library/Frameworks
和/System/Library/Frameworks
?这两者有什么区别?
到目前为止,我觉得从头开始使用 Python 会更简洁,但如何才能做到这一点而不破坏我现有的工具/应用程序?我需要删除我的 Python 框架吗?我应该使用官方安装程序,还是使用 homebrew 的python
软件包?
答案1
我认为 Lion 附带的标准 python 是 python 2.7。
获得默认设置的最佳机会可能是从朋友机器上安装的不同 Lion 复制相关文件。
我快速浏览了我的 Lion 系统,我的 pyhton 安装如下所示:
ls -lah /System/Library/Frameworks/Python.framework/Versions/2.7/
total 2296
drwxr-xr-x 11 root wheel 374B Aug 18 15:22 .
drwxr-xr-x 7 root wheel 238B Jul 11 2011 ..
drwxr-xr-x 6 root wheel 204B Jul 11 2011 Extras
lrwxr-xr-x 1 root wheel 17B Aug 18 15:20 Headers -> include/python2.7
drwxr-xr-x 3 root wheel 102B Jun 17 2011 Mac
-rwxr-xr-x 1 root wheel 2.7M Jul 11 2011 Python
drwxr-xr-x 7 root wheel 238B Jul 11 2011 Resources
drwxr-xr-x 3 root wheel 102B Jun 17 2011 _CodeSignature
drwxr-xr-x 17 root wheel 578B Jul 11 2011 bin
drwxr-xr-x 3 root wheel 102B Jun 17 2011 include
drwxr-xr-x 5 root wheel 170B Jul 11 2011 lib
和:
ls -lah /System/Library/Frameworks/Python.framework/Versions/2.7/lib/
total 8
drwxr-xr-x 5 root wheel 170B Jul 11 2011 .
drwxr-xr-x 11 root wheel 374B Aug 18 15:22 ..
lrwxr-xr-x 1 root wheel 9B Jul 11 2011 libpython2.7.dylib -> ../Python
drwxr-xr-x 4 root wheel 136B Jul 11 2011 pkgconfig
drwxr-xr-x 643 root wheel 21K Oct 14 08:46 python2.7
并且 /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ 包含 python 标准库中的所有内容,例如:
total 13672
drwxr-xr-x 643 root wheel 21K Oct 14 08:46 .
drwxr-xr-x 5 root wheel 170B Jul 11 2011 ..
-rw-r--r-- 1 root wheel 22K Jun 17 2011 BaseHTTPServer.py
-rw-r--r-- 1 root wheel 22K Jul 11 2011 BaseHTTPServer.pyc
-rw-r--r-- 1 root wheel 22K Jul 11 2011 BaseHTTPServer.pyo
-rw-r--r-- 1 root wheel 5.6K Jun 17 2011 Bastion.py
-rw-r--r-- 1 root wheel 7.2K Jul 11 2011 Bastion.pyc
-rw-r--r-- 1 root wheel 7.2K Jul 11 2011 Bastion.pyo
-rw-r--r-- 1 root wheel 13K Jun 17 2011 CGIHTTPServer.py
-rw-r--r-- 1 root wheel 11K Jul 11 2011 CGIHTTPServer.pyc
-rw-r--r-- 1 root wheel 11K Jul 11 2011 CGIHTTPServer.pyo
-rw-r--r-- 1 root wheel 26K Jun 17 2011 ConfigParser.py
....