我使用名为 python-snappy 的包。这个包需要 snappy 库。因此,我通过以下命令成功下载并安装了 snappy,例如:

./configure
make
sudo make install
当我导入 snappy 时,我收到以下错误:
from _snappy import CompressError, CompressedLengthError, \
ImportError: libsnappy.so.1 cannot open shared object file: No such file or directory
我使用的是 Python 2.7、snappy、python-snappy 和 Ubuntu 12.04
我该如何解决这个问题?
谢谢

最佳答案

传统上,您可能必须运行 ldconfig 实用程序来更新您的/etc/ld.so.cache(或适用于您的操作系统的等效项)。有时可能需要向/etc/ld.so.conf 添加新条目(路径)。

基本上,许多版本的 Unix(可能还有其他类 Unix 操作系统)上的共享对象(so)加载器使用缓存来帮助将它们的基本文件名解析为要加载的实际文件(通常是 mmap()'d)。这大致类似于在将内容添加到 PATH 中的目录后在 shell 中运行 hash -r 或 rehash 的间歇性需要。

通常,您可以不带参数地运行 ldconfig(可能在将新库的路径添加到/etc/ld.so.conf 文本文件之后)。好的 Makefile 会在 make install 期间为你做这件事。

这里有更多信息:http://linux.101hacks.com/unix/ldconfig/

关于python - 无法在python中导入snappy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15848156/

10-12 18:35