3

我不小心用 easy-install pyobjc 安装了 pyobjc 2.2,这导致了问题:当我尝试导入它时,我得到了错误

Incompatible library version: _objc.so requires version 10.0.0 or later, but libxml2.2.dylib provides version 9.0.0

不过,我对修复它不感兴趣,我想要的只是我的 pyobjc 2.0 回来。我尝试删除 pyobjc 2.2 并重新安装 python,并且尝试从 svn 主干构建 2.0(我收到错误 lipo: can't figure out the architecture of [random filename].out)

我想一定有一个好的方法可以做到这一点,但它让我无法理解。任何见解将不胜感激。

编辑:Python 2.6 和 OSX 10.5

4

2 回答 2

2

如果您在 10.5 Leopard 上使用 Apple 提供的 Python 2.5,它内置了 PyObjC 2.0,可能最简单的降级方法是从其站点包目录中删除 2.2 版本,/Library/Python/2.5/site-packages. 不过,首先,运行命令:

easy_install -m pyobjc==2.2

这将编辑该easy-install.pth目录中的文件,或者您可以自己编辑文件以删除 PyObjC 2.2 的行。然后应该恢复到安装在其他地方的 Apple 提供的版本。

如果您使用的是其他版本的 Python 并自己安装了 PyObjC,您仍然可以使用 easy_install 恢复到它,因为通常情况下,easy_install 在您升级时不会删除以前的版本。尝试:

easy_install pyobjc==2.0

如果这不起作用,您可能必须转到 PyObjC subversion 存储库并下载 2.0 分支的副本并从那里重新安装:

svn co http://svn.red-bean.com/pyobjc/branches/pyobjc-20x-branch/
于 2010-01-12T21:02:35.660 回答
1

我想到了。2.5 pyobjc 库位于 /System/Library/Frameworks/Python.framework/Versions/2.5/...
为 python 2.6 安装 pyobjc 的命令是

sudo port install py26-pyobjc2

无论如何感谢您的帮助!

于 2010-01-14T01:55:53.673 回答