这是我的Dockerfile中安装Python和代码依赖项的部分。
FROM ubuntu:18.04
RUN apt-get update && \
apt-get install -y software-properties-common && \
add-apt-repository ppa:deadsnakes/ppa && apt-get update && apt-get install -y \
python3.8 \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN ln -s /usr/bin/pip3 /usr/bin/pip
# Update Python with the required packages
RUN pip install --upgrade pip
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
创建图像,然后当我运行代码时,我得到这个错误
q9zp213vt4-algo-1-cqgxl | /usr/local/lib/python3.6/dist-packages/paramiko/transport.py:33: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.
这条消息提醒我使用Python 3.6,当我使用CLI检查图片的Python版本时,我确实可以看到它是默认的Python版本3.6.9
。
很抱歉问这个基本的问题,但是我对Docker不熟悉,我不知道我哪里做错了。Ubuntu
的基本映像不能更改。
1条答案
按热度按时间83qze16e1#
您需要设置特定的Python 3版本。
RUN ln -s /usr/bin/python3 /usr/bin/python
只告诉Ubuntu使用默认的Python 3而不是Python 2,但不告诉Ubuntu使用哪个Python 3。在我的计算机上,python3
链接到python3.10
。您可以强制将版本替换为RUN ln -fs /usr/bin/python3.8 /usr/bin/python3