【Dockerチュートリアル】困った…Pythonのバージョン指定ができない

【Dockerチュートリアル】困った...Pythonのバージョン指定ができない

 

【動画で解説】DockerでPythonのバージョン指定をする方法
– docker tutorial for beginners

 

 


視聴時間:3分53秒

文字情報だけでは分からない場合に、DockerでPythonの詳細バージョン指定のチュートリアル動画をご活用いただけますと幸いです。

 




 

【動画の内容】

0:00 はじめに
0:43 手順解説:DockerでPythonバージョン指定
3:25 おわりに

 

 

Dokcerで困った…Pythonの詳細バージョンの指定方法

 

 

以下の記述コード例の方法

記述コード例:
Dockerfile

# Linux Ubuntu 22.04をインストール
FROM ubuntu:22.04

# aptをアップデート
RUN apt update

# Python 3.10系をインストール
RUN apt install -y python3.10
RUN apt install -y python3-pip

で、Dockerfileからapt(アプト)を使ってPythonをインストールすると

・その時点のaptのパッケージにあるPython 3.10系の最新バージョン
* 2024年10月7日時点では「Python 3.10.12

がインストールされるようでした。
Python 3.10系の過去のバージョンを指定してインストールしたいと思い、色々なコードを試してみたところ、解決策を見つけましたので、以下にコードを掲載しておきます。

 

 

【コピー&ペースト用:Dockerfile記述コード】DockerでPythonの詳細バージョンを指定

 

 

コピー&ペースト用 – 記述コード:
Dockerfile

# Linux Ubuntu 22.04をインストール(OS指定の一例)
FROM ubuntu:20.04 

# Pythonをインストールするための依存関係をインストール
RUN apt-get update && apt-get install -y --no-install-recommends wget build-essential libreadline-dev \ 
libssl-dev libncursesw5-dev libsqlite3-dev libgdbm-dev libbz2-dev liblzma-dev zlib1g-dev libdb-dev uuid-dev libffi-dev

# 任意バージョンのPythonをインストール
ARG PYTHON_VERSION=3.10.10 # ここにインストールしたいバージョンを指定
RUN wget --no-check-certificate https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
&& tar -xf Python-${PYTHON_VERSION}.tgz \
&& cd Python-${PYTHON_VERSION} \
&& ./configure --enable-optimizations\
&& make \
&& make install

 

 

【実行コード】Dockerfileの作成〜Docker Imageの作成・Docker Image内でPythonバージョンの確認

 

 

以下は

・Docker Desktop

Docker Desktop:ローカル環境でDocker Imageなどを作成できます
Docker Desktop

で実行しています。

 

フォルダの作成

実行コード:

mkdir PythonImage

*「PythonImage」というフォルダを作成する例です。

 

カレントディレクトリ(作業フォルダ)の指定

実行コード:

cd PythonImage

*「PythonImage」というフォルダをカレントディレクトリに指定する例です。

 

Dockerfileの作成

実行コード:

touch Dockerfile

フォルダ名で検索し、Dockerfileをテキストエディタで編集します。

 

Dockerfileに指示を記述

記述コード:

# Linux Ubuntu 22.04をインストール(OS指定の一例)
FROM ubuntu:20.04 

# Pythonをインストールするための依存関係をインストール
RUN apt-get update && apt-get install -y --no-install-recommends wget build-essential libreadline-dev \ 
libssl-dev libncursesw5-dev libsqlite3-dev libgdbm-dev libbz2-dev liblzma-dev zlib1g-dev libdb-dev uuid-dev libffi-dev

# 任意バージョンのPythonをインストール
ARG PYTHON_VERSION=3.10.9 # ここにインストールしたいバージョンを指定
RUN wget --no-check-certificate https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
&& tar -xf Python-${PYTHON_VERSION}.tgz \
&& cd Python-${PYTHON_VERSION} \
&& ./configure --enable-optimizations\
&& make \
&& make install

*「Python 3.10.9」をインストールする例です。

 

Docker Imageの作成

実行コード:

docker build -t python-demo .

*「python-demo」という名前のDocker Imageを作成する例です。

 

Docker Imageを表示

実行コード:

docker images

出力結果:

REPOSITORY TAG   IMAGE ID     CREATED    SIZE
python-demo latest 5d87c19858ec  10 minutes ago 911MB

 

Docker Imageに入る(起動)

実行コード:

docker run --rm -t -i 5d87c19858ec /bin/bash

* IMAGE ID「5d87c19858ec」の例
* docker run –rm -t -i [Docker ImageのID] /bin/bash

出力結果:

root@〜:/#

 

Pythonのバージョンを確認

実行コード:

python3 --version

出力結果:

Python 3.10.9

*「Python 3.10.9」をインストールしたDocker Imageの例です。

 

Docker Imageから出る(終了)

実行コード:

exit

 

 

おわりに

 

 

機械学習プログラミングの開発環境を整えるために、特定のPythonのバージョンを指定できると便利ですね。
ただ、今回の方法の難点としては、Pythonのインストールに「10分以上」(10分〜12分程)時間がかかることです。
詳細のバージョンを気にしない場合には、apt(「RUN apt install -y python3.10」)を使ってインストールすると早いかと思います。

今回の一連の情報が、自分と同じようにPythonのバージョン指定ができずに困っている方の、問題解決のきっかけになることがありましたら幸いです。

 

 

by 子供プログラマー | プログラミング入門ウェブ教室

 

【ERROR Codes】- プログラミング学習エラーコード集(一覧)

docker pushで時間を取られたDocker初学者の方も多いのではないかと思います…
【Dockerチュートリアル】困った…docker pushできない:Error – denied

 

日本人のための人工知能プログラマー入門講座(機械学習)