我克隆了https://github.com/couchbase/libcouchbase并结帐到2.5.8版。之后我在git页面的文档中编译它
$ git clone git://github.com/couchbase/libcouchbase.git
$ cd libcouchbase && mkdir build && cd build
$ ../cmake/configure
$ make
$ sudo make install
后来,我从pip安装了couchbase:
sudo pip3 install couchbase
但是当我这样做时:
python3 -c'import couchbase'
我有
import couchbase._libcouchbase as C
ImportError: libcouchbase.so.2: cannot open shared object file: No such file or directory
我在/usr/lib/libcouchbase.so.2中建立了一个链接到/usr/local/lib/libcouchbase.so.2
sudo ln -s /usr/local/lib/libcouchbase.so.2 /usr/lib/libcouchbase.so.2
但现在我明白了
import couchbase._libcouchbase as C
ImportError: /usr/local/lib/python3.4/dist-packages/couchbase/_libcouchbase.cpython-34m.so: undefined symbol: lcb_n1x_list
Linux版本:
cat /etc/issue
Ubuntu 14.04.2 LTS \n \l
有什么想法吗?
答案 0 :(得分:0)
您遇到此错误,因为您的libcouchbase版本不够新,无法与您的Couchbase Python SDK版本相对应。当前版本的Couchbase Python SDK(2.0.9)需要libcouchbase> = 2.6.0。
您有两种方法可以解决这个问题:
使用pip:
可以轻松完成旧版本的Python SDK$ sudo pip3 install couchbase==2.0.8
安装较新版本的libcouchbase与您已经采用的程序类似,但您当然需要签出版本2.6.0。
话虽如此,通常建议使用Couchbase网站上分发的官方版本。您可以从libcouchbase downloads page下载tars,也可以添加official Couchbase repositories和apt-get install
libcouchbase。