gpt4 book ai didi

python - 如何在 Dockerfile flask 中安装 python-apt

转载 作者:行者123 更新时间:2023-12-04 17:47:18 27 4
gpt4 key购买 nike

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

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

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 中添加了这一行:

RUN /opt/flask/bin/pip install python-apt

错误:

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

我该如何解决这个错误?

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

ImportError: No module named apt_pkg

最佳答案

因此在隔离的 virtualenv 中安装 python-apt 失败,因为 pip 的版本已过时且不再维护。仅安装 deb 包不会反射(reflect)在 virtualenv 中。

另一种方法是从其他来源安装工作/修复的 python-apt python 包。

在 virtualenv 中安装 python-apt。对于 Ubuntu Xenial,以下对我有用:

pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.1.0_beta5

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

此外,可能有一些先决条件以确保上述构建成功:

sudo apt-get install build-essential python-distutils-extra libapt-pkg-dev

参见 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845330为什么和https://github.com/excid3/python-apt/issues/2了解更多信息。

关于python - 如何在 Dockerfile flask 中安装 python-apt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47848155/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com