我在 SnowLeopard 上安装 pyobjc 时遇到问题。
它附带了 python 2.6,但我需要 2.5,所以我已经成功安装了 2.5。之后我就安装了xcode。之后我用“easy_install-2.5 pyobjc”安装了 pyobjc
但是当我启动 python 2.5 并从命令行尝试导入 Foundation 时,它说“没有名为 Foundation 的模块”
我尝试做
导出 PYTHONPATH="/Library/Python/2.5/site-packages/pyobjc_core-2.2-py2.5-macosx-10.6-i386.egg/objc"
在启动python解释器之前,但仍然没有运气(这个.egg目录是pyobjc安装的唯一目录,并且在site-packages中还有几个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?
最佳答案
好的,找到问题所在了。
我的 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。
很抱歉没有尽早发现,但我希望这对将来的人有帮助!
关于python - 如何在SnowLeopard的非默认python安装上安装pyobjc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722730/