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