【问题标题】:Can't import obj in Python on OS X 10.6.3 Snow Leopard - libiconv.2.dylib?无法在 OS X 10.6.3 Snow Leopard - libiconv.2.dylib 上的 Python 中导入 obj?
【发布时间】:2011-02-07 02:55:18
【问题描述】:

在 OS X 10.6.3 雪豹上

% Python Python 2.6.1(r261:67515,2010 年 2 月 11 日,00:51:29) [GCC 4.2.1 (Apple Inc. build 5646)] 在达尔文 输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。 >>> 导入对象 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/__init__.py”,第 22 行,在 _更新() _update 中的文件“/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/__init__.py”,第 19 行 导入_objc ImportError:dlopen(/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/_objc.so,2):未加载库:/opt/local/lib /libiconv.2.dylib 引用自:/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg/objc/_objc.so 原因:库版本不兼容:_objc.so需要8.0.0或更高版本,但libiconv.2.dylib提供7.0.0版本 >>>

-- 我需要做什么?

【问题讨论】:

    标签: python osx-snow-leopard pyobjc


    【解决方案1】:

    首先我会尝试将/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 在/usr/lib IIRC 中有自己的libiconv.2.dylib 副本。

    【讨论】:

    • libiconv 似乎是从 MacPorts 安装的。您应该使用 MacPorts 端口命令删除或更新它。
    【解决方案2】:

    您很可能已经搞砸了操作系统的 Python 安装,因此您很可能需要重新安装操作系统。

    【讨论】:

    • 问题不大!
    猜你喜欢
    • 2011-11-10
    • 2011-08-15
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    相关资源
    最近更新 更多