2

我在 SnowLeopard 上安装 pyobjc 时遇到问题。

它带有 python 2.6,但我需要 2.5,所以我已经成功安装了 2.5。之后我安装了xcode。之后我用“easy_install-2.5 pyobjc”安装了pyobjc

但是当我启动我的 python 2.5 并从 cmd 行尝试导入 Foundation 时,它说“没有名为 Foundation 的模块”

我尝试 export PYTHONPATH="/Library/Python/2.5/site-packages/pyobjc_core-2.2-py2.5-macosx-10.6-i386.egg/objc" 在启动 python 解释器之前做,但仍然没有运气(这个 .egg 目录是 pyobjc 安装的唯一目录,站点包中还有几个 egg 文件......在 objc 子目录中有init .py 文件)

当然,从 2.6 开始一切正常。我如何找出问题所在以及我应该怎么做?

当我从 python 2.6 打印 sys.modules 时,我发现导入的 objc 基本上来自相同的安装位置“/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg /objc/",那么为什么它不适用于 2.5?

4

1 回答 1

4

好的,找到了问题所在。

我的 SnowLeopard 安装了 python 2.6(默认)和 2.5

XCode 为两者都安装了 objc。

所以基本上我用额外的python 2.5和objc手动安装破坏了我的pythonpath等,不知何故库不兼容(我的和原来的python都是2.5.4但版本略有不同,更重要的是可能用​​不同的构建选项构建)

我所做的是:确保我从原始 python2.5 开始一切(在我的系统上它位于 /usr/bin/python2.5 中),从站点包中的 easy_install.pth 中删除错误条目,并将 PyObjc 的路径添加到easy_install.pth。

很抱歉没有早点发现,但我希望这对将来的人有所帮助!

于 2010-04-29T13:38:53.517 回答