首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Dockerfile烧瓶中安装python-apt?

如何在Dockerfile烧瓶中安装python-apt?
EN

Stack Overflow用户
提问于 2017-12-16 17:15:39
回答 1查看 1.1K关注 0票数 3

我想在容器中的python文件中使用apt_pkg模块,但是当我添加安装代码时,我无法构建一个Docker文件。

首先,原始的Docker文件是(它是工作的):

代码语言:javascript
复制
FROM ubuntu:xenial
RUN apt-get update --fix-missing
RUN apt-get install -y --fix-missing curl wget zip python-dev python-pip
RUN apt-get install -y build-essential openssh-client tcpdump
RUN pip install requests elasticsearch elasticsearch-dsl virtualenv
RUN cd /opt && virtualenv flask
RUN /opt/flask/bin/pip install flask simplejson requests

EXPOSE 8094

ADD . /opt/
RUN chmod 755 /opt/run.sh

ENTRYPOINT [ "/opt/run.sh" ]

接下来,我在DockerFile中添加了这一行:

代码语言:javascript
复制
RUN /opt/flask/bin/pip install python-apt

错误:

代码语言:javascript
复制
Step 9/13 : RUN /opt/flask/bin/pip install python-apt
 ---> Running in ed421699d0c0
Collecting python-apt
  Downloading python-apt-0.7.8.tar.bz2 (49kB)
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-Mx7WQq/python-apt/setup.py", line 6, in <module>
        from DistUtilsExtra.command import *
    ImportError: No module named DistUtilsExtra.command

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Mx7WQq/python-apt/
The command '/bin/sh -c /opt/flask/bin/pip install python-apt' returned a non-zero code: 1

如何解决这个错误?

我不能使用运行apt-get install -y python-apt,因为它不能影响python文件。

ImportError:没有名为apt_pkg的模块

EN

回答 1

Stack Overflow用户

发布于 2018-03-13 14:25:18

因此,在孤立的virtualenv中安装python-apt失败,因为pip的版本已经过时,无法维护。仅仅安装deb包并不能反映在虚拟环境中。

另一种方法是从另一个源安装工作/固定的python-apt python包。

在虚拟环境中安装python-apt。对于Ubuntu Xenial,以下内容对我来说是有效的:

代码语言:javascript
复制
pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.1.0_beta5

您可能希望从https://salsa.debian.org/apt-team/python-apt为您的系统获得适当的分支。

此外,可能会有一些预reqs来确保上面的构建成功:

代码语言:javascript
复制
sudo apt-get install build-essential python-distutils-extra libapt-pkg-dev

有关原因,请参阅https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845330https://github.com/excid3/python-apt/issues/2获取更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47848155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档