2010-04-12 3 views
0

OS X 10.6.3 Snow Leopard의 Python에서 obj를 가져올 수 없습니다 - libiconv.2.dylib? 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

먼저 다른 곳으로 /Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/을 임시로 이동시키고 import 문을 다시 시도해 보겠습니다. 이렇게하면 OS가 기본적으로 OS와 함께 제공되는 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는 /usr/lib IIRC에 libiconv.2.dylib이라는 자체 복사본이 있습니다.

+1

libiconv는 MacPorts에서 설치 한 것으로 보입니다. MacPorts port 명령을 사용하여 제거하거나 업데이트해야합니다. –

+0

@ Tamás 감사합니다. 작동했습니다. – James

-3

OS의 파이썬 설치가 잘못되었을 가능성이 높으므로 OS를 다시 설치해야합니다.

+2

그건 과격한 문제가 아닙니다! –

관련 문제