有没有一种方法可以在Python运行时指定共享库的路径?
我把fontforge.so
放在了fontforge_bin
目录中,并尝试了以下操作:
os.environ['LD_LIBRARY_PATH']='fontforge_bin'
sys.path.append('fontforge_bin')
import fontforge
获取并得到
ImportError: fontforge_bin/fontforge.so: cannot open shared object file: No such file or directory
对 fontforge_bin/fontforge.so
运行 ldd
命令会得到以下结果
linux-vdso.so.1 => (0x00007fff2050c000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f10ffdef000)
libc.so.6 => /lib/libc.so.6 (0x00007f10ffa6c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f110022d000)
export LD_LIBRARY_PATH=fontforge_bin
,那么这将起作用,现在我想从脚本内部设置它。 - Yaroslav Bulatovsys.path.append
是正确的方法,正如您从错误消息中看到的那样,它确实尝试打开它。我建议您使用目录的完整路径名,而不是相对路径。 - cdarke