Ubuntu - 尝试安装 Python Couchbase lib - “libcouchbase/couchbase.h:没有这样的文件或目录”

Posted

技术标签:

【中文标题】Ubuntu - 尝试安装 Python Couchbase lib - “libcouchbase/couchbase.h:没有这样的文件或目录”【英文标题】:Ubuntu - trying to install Python Couchbase lib - "libcouchbase/couchbase.h: No such file or directory" 【发布时间】:2015-02-24 13:19:03 【问题描述】:

全部,

我正在尝试在我的 Linux 服务器中安装 Python Couchbase 库,但由于“libcouchbase/couchbase.h:没有这样的文件或目录”而失败。我也找不到哪个包包含 couchbase.h 文件。我该如何解决这个问题?

ubuntu@ip-172-31-17-167:~$ sudo easy_install couchbase 搜索沙发床 阅读 https://pypi.python.org/simple/couchbase/ 最佳匹配:couchbase 1.2.4 下载 https://pypi.python.org/packages/source/c/couchbase/couchbase-1.2.4.tar.gz#md5=4a51bf3ac1fa26bcb9433d53ac4ba34b 处理couchbase-1.2.4.tar.gz 编写 /tmp/easy_install-ZF8OtY/couchbase-1.2.4/setup.cfg 运行 couchbase-1.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZF8OtY/couchbase-1.2.4/egg-dist-tmp-Az4Noq 在 src/exceptions.c:17:0 包含的文件中: src/pycbc.h:25:36: 致命错误: libcouchbase/couchbase.h: 没有这样的文件或目录 #包括 ^ 编译终止。 错误:安装脚本退出并出现错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1 ubuntu@ip-172-31-17-167:~$ apt-file search couchbase.h python-celery-doc:/usr/share/doc/python-celery-doc/html/_modules/celery/backends/couchbase.html python-celery-doc:/usr/share/doc/python-celery-doc/html/internals/reference/celery.backends.couchbase.html

【问题讨论】:

【参考方案1】:

试试这个:http://docs.couchbase.com/couchbase-sdk-c-2.3/#downloading-the-couchbase-client-library

如果你有 Ubuntu 12.04:

    sudo wget -O/etc/apt/sources.list.d/couchbase.list http://packages.couchbase.com/ubuntu/couchbase-ubuntu1204.list wget -O- http://packages.couchbase.com/ubuntu/couchbase.key | sudo apt-key add - sudo apt-get update sudo apt-get install libcouchbase2-libevent libcouchbase-dev

【讨论】:

谢谢!完美运行。 这适用于我的 ubuntu14.04 实例。我所要做的就是将第 1 行更改为 sudo wget -O/etc/apt/sources.list.d/couchbase.list http://packages.couchbase.com/ubuntu/couchbase-ubuntu1404.list 我收到此错误,他以下软件包具有未满足的依赖项:libcouchbase-dev:依赖:libcouchbase2-core (= 2.8.7-1) 但不会安装 libcouchbase2-libev:依赖: libcouchbase2-core (= 2.8.7-1) 但它不会被安装 E: 无法纠正问题,你有损坏的包。错误:服务“php”构建失败:命令“/bin/sh -c apt-get install -y libcouchbase-dev libcouchbase2-libev”返回非零代码:100【参考方案2】:

Ubuntu 18.04 的更新解决方案

    echo "deb http://packages.couchbase.com/ubuntu bionic bionic/main" | sudo tee /etc/apt/sources.list.d/couchbase.list wget -O- http://packages.couchbase.com/ubuntu/couchbase.key | sudo apt-key add - sudo apt-get 更新 sudo apt-get install libcouchbase2-libevent libcouchbase-dev

【讨论】:

我不知道,这破坏了我的 pip3【参考方案3】:

他们实际上编写了一个 perl 脚本来使安装更简单、更安全,因此您可以:

    wget http://packages.couchbase.com/clients/c/couchbase-csdk-setup sudo perl couchbase-csdk-setup

正如here 解释的那样。

【讨论】:

脚本运行良好,但一直运行到无法定位包错误。 Couchbase 库还不能用于 Xenial 吗?【参考方案4】:

我的 Dockerfile (Debian 10)

# couchbase 2.x requires C libs
USER root
RUN wget -O - http://packages.couchbase.com/ubuntu/couchbase.key | apt-key add -
# Adding Ubuntu 18.04 repo to apt/sources.list of 18.10 or 19.04
RUN echo "deb http://packages.couchbase.com/ubuntu bionic bionic/main" | tee /etc/apt/sources.list.d/couchbase.list
RUN apt-get update
RUN apt-get install -y libcouchbase-dev libcouchbase2-bin build-essential
USER $USER

# -- Install dependencies: --deploy aborts if the python version
# or Pipfile.lock dependencies are incorrect 
COPY Pipfile Pipfile.lock ./
RUN pipenv install --ignore-pipfile --deploy --system

【讨论】:

【参考方案5】:

我正在尝试构建具有此依赖项的存储库。希望这也适用于您。

FROM ruby:2.3.0
WORKDIR /myapp
COPY . /myapp/
RUN apt-get update -y
#RUN apt-get upgrade -y
RUN apt-get install -y lsb-release

RUN wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-6-amd64.deb
RUN dpkg -i couchbase-release-1.0-6-amd64.deb
RUN apt-get update -y
RUN apt-get install libcouchbase-dev libcouchbase2-bin build-essential -y

【讨论】:

以上是关于Ubuntu - 尝试安装 Python Couchbase lib - “libcouchbase/couchbase.h:没有这样的文件或目录”的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ubuntu 中为 python 安装 facebook-sdk?

如何在linux ubuntu 下安装scapy pyx

如何在 ubuntu 20.04 上安装 python3-pip

在Ubuntu上安装Python 3.3

在 python 3.8 Ubuntu 20.04 LTS 中安装 RDKit 的问题

ubuntu中安装好了mininet 但是运行python代码时,报错?