【初心者向け】Python実行環境をUbuntuで構築!インストール方法を解説

はじめに

Pythonの開発現場ではDockerなどの仮想環境を用いることが多いと思いますが、実際にwebサービスなどの運用を始める際はPythonのインストール、環境構築が必要になってくる場合もあります。
今回はPythonのインストール、環境構築の方法についてまとめていきます。
動作環境

 Windows10

 Docker Desktop

 Ubuntu 22.10

 Python 3.11.0

Dockerについて

今回、Dockerのコンテナ上にUbuntu 22.10を作成して、そこにPythonをインストールしていきます。

インストール先は、実機のUbuntuでもWSLでも同じ手順となります。

Dockerのインストール方法は以下の記事で紹介しています。
関連記事

はじめに プログラミングを行う際に実行環境を構築する必要がありますが、普段利用しているローカルPCに直接インストールしてしまっては、トライアンドエラーを繰り返すうちに不要なアプリケーションが積み重なり動作が不安定にな[…]

また、DockerはWindows TerminalのPowerShellで行います。
こちらの記事でWindows Terminalのインストール方法も紹介していますので良ければ参照してください。
関連記事

はじめに Windows環境でLinuxのコマンドが利用できるWSL2についてインストールおよび利用方法を説明します。 Linuxコマンドが使えるようになると、様々なプログラミング言語や開発に利用できますので非常に[…]

Pythonの仮想環境

Pythonには複数のバージョンが存在します。バージョンごとに利用できるパッケージが異なっています。

また、たとえばTwitterにPythonからツイートを投稿する場合は、tweepyというパッケージを追加する必要があります。
一方、別のプログラムを作成する際は、Twitterに関するパッケージは不要となります。

このように開発する機能ごとに必要となるパッケージは異なるため、機能単位でPythonの実行環境を準備できるのが理想です。

そこで、Pythonの実行環境を仮想化できる仕組みが用意されています。

代表的なものとしてpyenv、virtualenv、venv、pyenv-virtualenv、Anaconda、Pipenvなど、色々な方法があります。

今回はPython Japanでも紹介されているvenvを利用する方法を採用したいと思います。

Ubuntu には最初からPythonがインストールされており、そのまま利用可能です。 しかし、このPython は、 …

Ubuntuでのインストール方法

Ubuntuコンテナを準備

Docker HubからUbuntu 22.10のイメージをダウンロードしてコンテナを起動します。

docker pull ubuntu:22.10
docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
ubuntu       22.10     0f175c10c2b4   15 hours ago   70.2MB
docker run -it --name ubuntupy ubuntu:22.10 /bin/bash
root@9a63ac5fd455:/#

コンテナ名は「ubuntupy」で起動しています。

Dockerの基本的なコンテナ操作は以下の記事でまとめています。

関連記事

はじめに プログラミングや開発を進めるうえで仮想環境を利用することは今や当たり前になりました。 特にDockerを利用する機会が多いのですが、よくコマンドを忘れてしまうので忘備録もかねて基本操作をまとめます。 […]

念のためubuntuのパッケージを最新化しておきます。rootでアクセスしているのでsudoは省略しています。

apt update
apt upgrade
apt autoremove #データ容量を減らしたい場合は必要に応じて実行exit

のちに利用するUbuntuパッケージ等を入れておきます。

apt install wget #指定したURLからダウンロードするコマンドを追加
apt install vim #エディター追加

ビルドツール・ライブラリのインストール

Pythonのソースコードをビルドするためのライブラリをインストールします。

apt install build-essential libbz2-dev libdb-dev \
libreadline-dev libffi-dev libgdbm-dev liblzma-dev \
libncursesw5-dev libsqlite3-dev libssl-dev \
zlib1g-dev uuid-dev tk-dev

※行末のバックスラッシュ(円マーク)を入力すると、長い行を改行してコマンドを実行できます。

Pythonのインストール

Pythonのインストールに必要なソースコードはこちらのページから取得できます。

まずは、作業用ディレクトリを作成し、ソースコードをダウンロードします。

cd /root/ #rootディレクトリへ移動
mkdir python #作業用にpythonディレクトリを作成
ls #ディレクトリ作成結果を確認
python
cd python/ #作成したpythonディレクトリへ移動
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz #pythonソースコードをダウンロード
ls #ダウンロードファイルを確認
Python-3.11.0.tar.xz

ソースコードがダウンロードできたら、解凍、コンパイル、インストールを実行します。

tar xJf Python-3.11.0.tar.xz #ダウンロードしたファイルの解凍
ls #解凍結果の確認
Python-3.11.0  Python-3.11.0.tar.xz
cd Python-3.11.0 #解凍後のディレクトリに移動
./configure  #コンパイルするための準備
make  #コンパイルの実行
make install  #/インストール実行

tar xJfxJfは解凍コマンドtarのオプションです。

  • x:圧縮ファイルを展開する。
  • J:xz形式のファイルを展開する。
  • f:展開の対象をファイル名で指定する。

./configureを実行することでOSやCPU等を調べ、環境に合わせてMakefileファイルを作成します。

makeではMakefileに基づきソースコードをコンパイルします。

make installはコンパイルされたファイルを使ってインストールを実行します。

なお、インストール先を変える場合は./configure./configure –prefix=保存先とします。

それでは、インストール結果を確認します。

which python3 #インストール先の確認
/usr/local/bin/python3
python3 -V #pythonのバージョン確認
Python 3.11.0

/usr/local/bin/python3にインストールされていることがわかります。

また、バージョンは3.11.0となっています。

パッケージのインストール

すでに説明したようにほとんどのプログラミング言語では、一般的によく使われるような機能はパッケージとして公開されています。

Pythonも同様で以下のコマンドでパッケージの追加が可能です。

python3 -m pip install -U pip #pip自身のアップデート
python3 -m pip install numpy #パッケージnumpyをインストール

パッケージをインストールするときは、事前にpip自身をアップデートするようにしましょう。-mオプションは必ず必要になります。

2行目でnumpyという数学計算に特化したパッケージを追加でインストールしています。分析や統計解析、機械学習などをやりたい方はお世話になると思います。

インストールされているパッケージ一覧は以下のコマンドで取得できます。

python3 -m pip list
Package    Version
---------- -------
numpy      1.23.4
pip        22.3
setuptools 65.5.0

インストールしたパッケージのアップデートや削除は以下のコマンドからできます。

python3 -m pip install -U numpy #アップデート
python3 -m pip uninstall numpy #削除
python3 -m pip list #削除後確認
Package    Version
---------- -------
pip        22.3
setuptools 65.5.0

まとめ

PythonをUbuntuに対して実際にインストールする方法についてまとめました。
次は、Pythonの仮想環境であるvenvでの開発の進め方についてまとめていますので、以下の記事も続けて参照ください。
次の記事

はじめに 前回、Ubuntu上にPythonの実行環境をインストールしました。その際に、Python を開発する際はプロジェクトごとに仮想環境を作成するとしてvenvを選択しました。 前回の記事はこちら [sit[…]

Pythonのプログラミング言語についてより詳しく知りたい方は以下のような書籍を参考にしてみてください。
スッキリわかるPython入門 (スッキリわかる入門シリーズ)
著者:国本大悟 (著), 須藤秋良 (著), 株式会社フレアリンク (監修)
出版社:インプレス
はじめての人・つまずいた人・納得したい人のための入門書。サクサク進めてしくみもバッチリ!プログラミングの「本質」を身に付け未来への道を切り拓こう!業務自動化、データサイエンス、人工知能、アプリ開発プログラマへの第一歩!出典:Amazon
入門 Python 3 第2版
著者:Bill Lubanovic (著), 鈴木 駿 (監修), 長尾 高弘 (翻訳)
出版社:オライリージャパン; 第2版
データサイエンスやウェブ開発、セキュリティなど、さまざまな分野で人気を獲得してきているPython。本書は、ベストセラー『入門 Python 3』の6年ぶりの改訂版で、プログラミング初級者を対象としたPythonの入門書です。プログラミングおよびPythonの基礎から、ウェブ、データベース、ネットワーク、並行処理といった応用まで、実践を見据えたPythonプログラミングをわかりやすく丁寧に説明します。Python 3.9に対応し、f文字列などの新機能も追加され大幅にボリュームアップしました。Pythonの機能をひと通り網羅し、リファレンスとしても便利です。出典:Amazon
たった1日で基本が身に付く! Docker/Kubernetes超入門
著者:伊藤 裕一 (著)
出版社:技術評論社
本書は、次世代のアプリケーションアーキテクチャとして注目されている「マイクロサービス」の技術基盤となるコンテナ技術「Docker」とコンテナオーケストレーション技術「Kubernetes」を取り上げ、Dockerの基本的な利用法、DockerfileやComposeの設計、コンテナのデータ永続化やCI/CD、Kubernetesによる複数コンテナの自動管理までを、一気に学習します。出典:Amazon