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?
如何在 ubuntu 20.04 上安装 python3-pip