Переход на pyobjc 2.0 с pyobjc 2.2

Я случайно установил pyobjc 2.2 с помощью простой установки pyobjc, и это вызывает проблемы: когда я пытаюсь импортировать его, я получаю сообщение об ошибке

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, и я попытался собрать 2.0 из магистрали svn (я получаю сообщение об ошибке: не могу понять архитектуру [random filename].out)

Я предполагаю, что должен быть хороший способ сделать это, но он ускользает от меня. Любое понимание будет оценено.

Изменить: Python 2.6 и OSX 10.5


person maxdj    schedule 12.01.2010    source источник


Ответы (2)


Если вы используете поставляемый Apple Python 2.5 на 10.5 Leopard, который поставляется со встроенным PyObjC 2.0, вероятно, самый простой способ понизить версию — это удалить версию 2.2 из каталога site-packages, /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

Если это не сработает, вам, возможно, придется перейти в репозиторий subversion PyObjC, загрузить копию ветки 2.0 и переустановить оттуда:

svn co http://svn.red-bean.com/pyobjc/branches/pyobjc-20x-branch/
person Ned Deily    schedule 12.01.2010
comment
Когда я удаляю версию 2.2 из пакетов сайтов (даже удаляя ее из easy-install.pth), Python не может найти пакет. easy_install pyobjc==2.0 не может найти версию. По какой-то причине я не могу скомпилировать исходный код svn (lipo: не могу понять архитектуру [random filename].out). Я тоже пытался переустановить xcode, не помогло :( - person maxdj; 13.01.2010
comment
Какую версию OS X вы используете и какой Python вы используете? - person Ned Deily; 13.01.2010

Я понял. Библиотека pyobjc версии 2.5 находится в /System/Library/Frameworks/Python.framework/Versions/2.5/...
, а команда для установки pyobjc для python 2.6 —

sudo port install py26-pyobjc2

Спасибо в любом случае за помощь!

person maxdj    schedule 14.01.2010