我正在使用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中。我安装了库存增强库,版本1.41。我下载了最新的pyexiv2并使用推荐的构建工具scons构建了它。在我收到导入错误后,我将一个软链接放到/ lib中的libexiv2.so.12。另外,我的ld.so.conf包含/ usr / local / lib的列表。
非常感谢任何帮助。
答案 0 :(得分:1)
这个问题在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中有一个活动条目都解决了我的问题。