3

我使用名为 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 我该如何解决这个问题?谢谢

4

4 回答 4

3

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

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

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

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

于 2013-04-06T07:56:59.883 回答
2

您可以从 ubuntu存储库安装python- snappy和libsnappy1 :

$ sudo apt-get install libsnappy1 python-snappy 

你不应该下载任何东西。

于 2013-04-06T07:42:47.693 回答
0

在这里例如蟒蛇蟒蛇

  1. github下载 snappy
  2. 还下载python文件
  3. 提取两个文件
  4. google-snappy 文件夹

    $ ./configure

    $ make

    $ sudo make install

  5. 然后在python文件夹中:

    $ python setup.py build # here I get the same import _snappy error

    $ python setup.py install # after this import works

于 2016-01-07T23:42:58.063 回答
0

以下对我有用:

$ conda install python-snappy

然后在我的代码中我使用了:

import snappy
于 2018-10-04T11:08:05.680 回答