如何在Mac OSX下安装ijson python包(find_library问题?)

时间:2012-11-14 11:33:55

标签: python macos python-2.7 yajl

我需要解析一个可能很大的json文件。所以我找了解决方案来帮助我并找到了ijson库。似乎为此目的完美。

我使用pypm(我使用Active Python),端口并直接使用提供的安装脚本安装它。

但是一旦我

import ijson 

我收到错误

Exception: YAJL shared object not found.

罪魁祸首似乎是函数util.find_library('yajl'),它正在寻找一个名为'yajl'的模块 - 我也安装了它!但是找不到find_library。

警告:我不是UNIX(或OSX)专家。我可以很好地处理Python,但对于那些在UNIX / Linux中受过教育的人来说可能非常简单的事情,我们完全无能为力。

1 个答案:

答案 0 :(得分:0)

来自ctypes docs

  

在OS X上,find_library()尝试几种预定义的命名方案和   定位库的路径,如果成功则返回完整路径名

查看the source,最终调用dyld_find函数:

def dyld_find(name, executable_path=None, env=None):
    """
    Find a library or framework using dyld semantics
    """
    name = ensure_utf8(name)
    executable_path = ensure_utf8(executable_path)
    for path in dyld_image_suffix_search(chain(
                dyld_override_search(name, env),
                dyld_executable_path_search(name, executable_path),
                dyld_default_search(name, env),
            ), env):
        if os.path.isfile(path):
            return path
    raise ValueError("dylib %s could not be found" % (name,))

我没有Mac经验,所以我无法继续提供帮助。或许查看dyld documentation可以给出一些提示。