Skip to main content
 首页 » 编程设计

python之pyexiv2导入错误找不到libexiv2.so.12

2025年05月04日11sxdcgaq8080

我正在运行带有 python 2.6 的 Centos 6.3 并尝试使用 pyexiv2,但是我收到一个导入错误,当我导入 pyexiv2 时找不到文件。这是错误的文本

     Traceback (most recent call last): 
  File "/home/chuck/bin/pylib/test.py", line 13, in  
    import pyexiv2 
  File "/usr/lib64/python2.6/site-packages/pyexiv2/__init__.py", line 60, in  
    import libexiv2python 
ImportError: libexiv2.so.12: cannot open shared object file: No such file or directory 

但是,libexiv2.so.12 在/usr/local/lib 中。我怎样才能使它对 python 可见?

我是如何安装pyexiv2的:
我删除了现有的 exiv2 并从源代码构建了最新版本 0.23。我使用构建默认值并将其安装到/usr/local 中。我安装了 stock boost 库,版本 1.41。我下载了最新的 pyexiv2 并使用推荐的构建工具 scons 构建了它。出现导入错误后,我在/lib 中放置了一个指向 libexiv2.so.12 的软链接(soft link)。此外,我的 ld.so.conf 包含/usr/local/lib 的 list 。

非常感谢任何帮助。

请您参考如下方法:

这个问题在 stackoverflow 上的另一个线程中得到了很好的回答 Why can't Python find shared objects that are in directories in sys.path .原来我在将条目添加到/etc/ld.so.conf 后忘记运行 ldconfig。哎呀。将/usr/local/lib 添加到 $LD_LIBRARY_PATH 并在/etc/ld.so.conf 中有一个事件条目都解决了我的问题。