ImportError:libs2.so:无法打开共享对象文件:没有此类文件或目录

2024-10-03 15:26:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Ubuntu(14.04)上用Python包装器构建libs2-geometry-library。在我用Python导入lib之前,一切都很顺利:

import s2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "s2.py", line 28, in <module>
    _s2 = swig_import_helper()
  File "s2.py", line 24, in swig_import_helper
    _mod = imp.load_module('_s2', fp, pathname, description)
ImportError: libs2.so: cannot open shared object file: No such file or directory

我查过很多类似的问题,但没有答案。 事实上,libs2有:

^{pr2}$

奇怪的是它说libs2cellid.so和{}找不到。实际上,我在同一个文件夹中有三个LIB:

ls -l /usr/local/lib/
total 1808
-rw-r--r-- 1 root root    98096 Aug  1 12:05 libs2cellid.so
-rw-r--r-- 1 root root  1446781 Aug  1 12:05 libs2.so
-rw-r--r-- 1 root root   284388 Aug  1 12:05 libs2util.so
drwxr-xr-x 2 root root     4096 Aug  1 11:59 pkgconfig
drwxrwsr-x 4 root staff    4096 Nov 23  2016 python2.7
drwxrwsr-x 3 root staff    4096 Jul 29  2016 python3.4
drwxr-xr-x 3 root root     4096 Aug  1 11:56 site_ruby

这是我的lib路径:

$LD_LIBRARY_PATH
/usr/local/lib/libs2util.so:/usr/local/lib/libs2.so:/usr/local/lib/libs2cellid.so:/usr/lib/python2.7/dist-packages/s2/libs2.so:

怎么了? 谢谢。在


Tags: inimportsolibusrlocallineroot
1条回答
网友
1楼 · 发布于 2024-10-03 15:26:09

因为您使用的是Ubuntu,所以前缀路径必须是/usr,而不是/usr/local。您可以在s2-geometry-library/geometry/CMakeCache.txt中更改它。设置值如下:CMAKE_INSTALL_PREFIX:PATH=/usr。您仍然需要重新运行所有的安装步骤才能正常工作。在

相关问题 更多 >