Не удается импортировать obj в Python на OS X 10.6.3 Snow Leopard - libiconv.2.dylib? - PullRequest
0 голосов
/ 12 апреля 2010

на OS X 10.6.3 Snow Leopard

% python
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import objc
Traceback (most recent call last):
  File "", line 1, in 
  File "/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/__init__.py", line 22, in 
    _update()
  File "/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/__init__.py", line 19, in _update
    import _objc
ImportError: dlopen(/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/_objc.so, 2): Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/_objc.so
  Reason: Incompatible library version: _objc.so requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
>>> 

- что мне нужно сделать?

Ответы [ 2 ]

2 голосов
/ 12 апреля 2010

Сначала я попытался бы временно переместить /Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/ куда-нибудь еще и снова попробовать оператор импорта. Это позволит ОС импортировать версию objc, поставляемую с ОС по умолчанию (это /System/Library). Используя версию в /System/Library, она работает для меня:

>>> import objc
>>> print objc.__file__ 
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC/objc/__init__.pyc

Вы также можете рассмотреть возможность перемещения /opt/local/lib/libiconv.2.dylib в другое место. Он выглядит устаревшим, и OS X Snow Leopard имеет собственную копию libiconv.2.dylib в /usr/lib IIRC.

0 голосов
/ 12 апреля 2010

Вы, скорее всего, облажались с установкой Python для ОС, поэтому вам, скорее всего, придется переустанавливать свою ОС.

...