在Python Docker容器中安装pip包

4

我正在尝试设置一个运行Python 2.7的Docker镜像。我想在容器内运行的代码依赖于我在Docker镜像构建过程中使用pip获取的软件包。我的问题是,pip只能获取部分软件包,而在尝试获取其他软件包时会发生错误。这是我的Docker文件:

# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "./my_script.py"]

这里是 requirements.txt 文件。
Flask
redis
time
sys
opcua

Pip在收集Flaskredis时没有问题,但在收集time(与sysopcua相同的问题)时出现错误。

构建过程中Docker-machine输出内容

请问我该怎么做才能使它与所有pip软件包一起工作?谢谢!


  1. 请在问题的正文中输入错误消息,以便我们更轻松地查找它。
  2. 您是否尝试过明确安装特定版本?也许可以查找您想要的版本并替换 package==version
- R Balasubramanian
在指责问题与容器有关之前,您需要先确认主机上的所有事情都没问题。 - atline
1个回答

5
这里的问题在于时间是Python标准库的一部分,因此它随着Python的安装而安装。这意味着您不需要(也不能)使用pip进行安装。sys也是如此。将它们从requirements.txt中移除,就可以继续了!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接