Это часть моего 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, и когда я проверил версию Python моего изображения с помощью CLI, я действительно увидел, что это версия Python по умолчанию 3.6.9
.
Извиняюсь за этот простой вопрос, но я не знаком с работой с Docker и не уверен, где я ошибаюсь. Базовое изображение Ubuntu
изменить нельзя.
Вам нужно установить конкретную версию Python 3. RUN ln -s /usr/bin/python3 /usr/bin/python
только говорит Ubuntu использовать Python 3 по умолчанию вместо Python 2, но не какой Python 3. На моем компьютере python3
связан с python3.10
. Вы можете принудительно заменить версию на RUN ln -fs /usr/bin/python3.8 /usr/bin/python3
Вот как я подтвердил версию Python. Сначала я сделал cd usr/bin
. Затем введите python
, и появится терминал Python вместе с номером версии.
Извинения. Оказывается, я проверял версию Python на неправильном изображении. Моя версия Python была обновлена. Большое спасибо!
Привет. Спасибо за ваш ответ. Я внес изменения и воссоздал образ. Однако версия Python по-прежнему отображается как
3.6.9