如何在SnowLeopard的非默认python安装上安装pyobjc

时间:2010-04-27 15:49:47

标签: python cocoa macos import pyobjc

我在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安装的唯一目录,并且在site-packages中还有几个egg文件...在objc subdir中有 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?

1 个答案:

答案 0 :(得分:4)

好的,发现了什么问题。

我的SnowLeopard附带了两个python 2.6(默认)和2.5安装

XCode为两者安装了objc。

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

我所做的是:确保我用原始的python2.5开始(在我的系统上用/usr/bin/python2.5),从site-packages中的easy_install.pth中删除错误的条目,然后添加路径到PyObjc到easy_install.pth。

很抱歉没有及早发现,但我希望将来会对某人有所帮助!