【发布时间】:2011-05-27 11:23:33
【问题描述】:
[tl;博士?见底部]
OS X 上的 Python 一直令人讨厌,因为它被拆分并分散在整个系统中。有些在/usr,有些在/Library/Python,有些在/System/Library/Frameworks/Python.framework。
现在,据我了解,该框架应该包含 Python 发行版,即不会改变的点点滴滴。一个例子是标题、标准库、二进制图像等。
因此,作为sort-of-popular Python C extension 的开发人员,我认为自己非常擅长 OS X 生态系统以及如何在其上编译 Python 扩展。就在一个月前,Apple decided to skip on QA 全面破坏了 C 扩展构建。
不过,它以一种新的方式被打破了,因为 Apple 似乎已经决定删除 Python 发行版中更好的部分。看看include/目录:
$ ls -l /System/Library/Frameworks/Python.framework/Versions/Current/include/python2.6
total 16
-rw-r--r-- 1 root wheel 30K Jun 25 2010 pyconfig.h
遗漏了什么? Python.h 可能是标头?更重要的是,我遇到了zc.buildout 的麻烦,因为它找不到site.py... 看看吧:
$ python -c 'print __import__("site").__file__'
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc
$ ls -l /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.py*
-rw-r--r-- 1 root wheel 20K May 17 15:40 /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc
遗漏了什么?可能是site.py 原版?
总而言之,Apple 似乎正在剥离重要的开发人员资源。我在其他装有 OS X 10.6.7 的 MacBook 上证实了这两个发现。
tl;dr Apple 已从 Python 框架中删除了许多重要的标头和源代码。其他人发生过这种情况吗?如果是这样,这是什么时候发生的?为什么会这样?最重要的是,我该如何找回它们?
【问题讨论】:
-
无论如何,你通常最好安装一个单独的 Python 版本(尤其是如果你想使用 numpy/scipy)。
-
在我的 MacBook Pro 和 10.6.7 的 MacPro 上看起来都不错
-
但我知道这曾经有效!它仍然适用于@Asgeir
-
我想我应该考虑重新安装 Xcode!