【问题标题】:CICD and Dockerfile [closed]CICD 和 Dockerfile [关闭]
【发布时间】:2021-04-10 08:10:41
【问题描述】:
FROM odoo:latest
RUN python3 -m pip install --upgrade pip
RUN pip3 --version
RUN python3 -m pip install aliyun-python-sdk-core-v3

我在 Gitlab 中有这个用于 CI/CD 的 Dockerfile。我想使用升级后的 pip 来安装一些包。但是,它没有使用升级后的 pip 而是使用旧版本来安装包。

我怎样才能让它使用升级的 pip 来安装包?


+ python3 -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl (1.5MB)
Installing collected packages: pip
Successfully installed pip-21.0.1
Removing intermediate container f5417b04ef8f
 ---> 0af1f9c1c55e
Step 4/8 : RUN python3 -m pip --version
 ---> Running in 04c7a1faac39
+ python3 -m pip --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
Removing intermediate container 04c7a1faac39
 ---> 4c9bafd47bce

Cap screen of attempt 2

我使用了相同的命令但结果相同

【问题讨论】:

  • 您已经在使用python3 -m pip 进行操作。第 1 行升级它,第 3 行使用刚刚升级的 python3 -m pip 安装 requirements.txt。问题是什么? pip3 --version 检查的目的是什么?也许应该是python3 -m pip --version
  • @GinoMempin 因为我需要安装的软件包需要升级版本的 pip,pip3 --version 检查的目的只是为了确保它使用升级版本进行下一步。
  • python3 -m pippip3 中的 pip 似乎是 2 个不同的安装。你把它们混在一起了。仅选择其中一个,并将其始终用于所有命令。
  • 您也可以发布您的FROM 行吗?对我来说,当我做FROM python:3.7时,它会说Requirement already satisfied: pip
  • 基本图像肯定有助于重现问题,正如@xjcl 所说。您在 Dockerfile 中还做了哪些其他事情? python是如何安装的?您是否对 python 目录、符号链接等进行了修改。我无法在标准的 Ubuntu 或 Python 映像上重现这一点。

标签: python docker pip


【解决方案1】:

你正在混合你如何调用 pip。

试试pip3 install --upgrade pippython3 -m pip --version

【讨论】:

    猜你喜欢
    • 2021-11-17
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    相关资源
    最近更新 更多