InfraAcademy

InfraAcademy Blog

LinuxでPythonを使う方法解説!【インストールから実行まで】

| #Linux #Linux初心者 #Python #python

こんにちは!

InfraAcademyというインフラ学習サービスを運営しています、ryuと申します。

今回の記事では、LinuxでPythonを使う方法を解説します。Pythonをインストールして、スクリプトを実行する方法を詳しく解説します。

Linuxサーバーを触っていると、ログの加工や定型作業の自動化でPythonを使いたくなることがあります。しかし、pythonpython3の違いや、pipをどこへ入れればよいのかで迷う方も多いのではないでしょうか。

先に大切なことをお伝えすると、Linuxに最初から入っているPythonを、自己判断で削除したり上書きしたりしてはいけません。

Linuxでは、OSの管理ツールがPythonを利用していることがあります。この記事では、ディストリビューションのパッケージマネージャーを使い、安全にPythonを導入する方法を解説します。

LinuxでPythonを使う前に確認すること

Pythonをインストールする前に、現在のLinux環境を確認します。

Ubuntu・Debian系と、Red Hat Enterprise Linux・Rocky Linux・AlmaLinux・Fedora系では、使用するパッケージマネージャーが異なります。

Linuxディストリビューションを確認する

現在使用しているLinuxの種類は、次のコマンドで確認できます。

cat /etc/os-release

UbuntuならID=ubuntu、Rocky LinuxならID="rocky"のように表示されます。

自分の環境がわからないままコマンドを実行すると、apt: command not founddnf: command not foundが表示されることがあります。

Pythonがすでに入っていないか確認する

Linuxには、最初からPython 3がインストールされている場合があります。

まずは次のコマンドを実行してください。

python3 --version

バージョンが表示されれば、Python 3はすでに利用できます。

Python 3.x.x

実行ファイルの場所は、次のコマンドで確認できます。

command -v python3

/usr/bin/python3などが表示されれば、その場所にPythonがあります。

pythonではなくpython3を使う

環境によっては、python --versionが使えず、python3 --versionだけが動く場合があります。

これは不具合ではありません。Python 2とPython 3を区別するため、pythonという名前を用意していないLinuxがあるためです。

初心者のうちは、この記事のようにpython3を使うと混乱しにくいでしょう。

LinuxにPythonをインストールする方法

LinuxにPythonをインストールする方法はいくつかありますが、ここではパッケージマネージャーを使って、Pythonのインストールを行います。

ディストリビューションのパッケージを使えば、依存関係もまとめて管理できます。

Ubuntu、Debianの場合

UbuntuやDebianの場合は、パッケージマネージャーでaptを使用します。以下のコマンドを実行して、pythonをインストールしましょう。

sudo apt update
sudo apt install python3

コマンドを実行すると、Pythonを動作させるために必要なパッケージをすべてインストールしてくれます。

Pythonのインストール

Red Hat系の場合

Red Hat系の場合は、パッケージマネージャーでdnfを使用します。

元記事ではaptと説明していましたが、Rocky Linux・AlmaLinux・Fedoraなどでは、基本的にdnfを使用します。

sudo dnf install python3

古いCentOSなどでは、yumを使う場合もあります。

sudo yum install python3

現在の環境でdnfが使えるなら、基本的にはdnfを使用しましょう。

aptとdnfの違い

Pythonのインストールで使うコマンドを整理すると、次のようになります。

Linuxの系統 主なディストリビューション コマンド
Debian系 Ubuntu、Debian sudo apt install python3
Red Hat系 RHEL、Rocky、AlmaLinux、Fedora sudo dnf install python3
古いRed Hat系 CentOS 7など sudo yum install python3

コマンドを暗記するだけではなく、どのLinux系統で使うコマンドなのかを理解しておくことが大切です。

【関連記事】Linuxコマンド40選|初心者が最初に覚えたい基本コマンド

インストールの確認

インストールが正しくできているかを確認してみましょう。

以下のコマンドを実行して、Pythonを動かしてみます。

python3 --version

上記のコマンドを実行して、バージョンが表示されたら成功です。

Pythonのバージョン表示

Pythonスクリプトの実行

続いて、Pythonスクリプトの実行を行なってみましょう。

Pythonスクリプトは、テキストエディタを使って作成します。ここでは、簡単な「Hello, World!」スクリプトを作成してみましょう。

スクリプトファイルの作成

まず、以下のコマンドを実行して、hello.pyを作成します。

echo 'print("Hello, World!")' > hello.py

これは、print("Hello, World!")というPythonのプログラムをhello.pyに記述しています。

ファイルの内容は、catコマンドで確認できます。

cat hello.py

>は出力をファイルへ書き込むリダイレクトです。同名ファイルがあると内容を上書きするため、実行前に確認しましょう。

【関連記事】Linuxの標準入力・標準出力とリダイレクトを解説

スクリプトの実行

続いて、スクリプトの実行をしてみましょう。

python3 hello.py

コマンドを実行すると、以下のようにHello, World!と表示されます。

これで、Pythonが使えるようになりました!

ファイル名を間違えると、No such file or directoryが表示されます。

その場合は、pwdlsを使い、現在のディレクトリにhello.pyがあるか確認してください。

pwd
ls -l

Pythonを対話モードで実行する

短い処理を試すだけなら、ファイルを作らずにPythonを起動できます。

python3

>>>が表示されたら、Pythonの対話モードです。

>>> 10 + 20
30
>>> print("LinuxからPythonを実行")
LinuxからPythonを実行

終了するときは、exit()を入力します。

exit()

Linuxのターミナルでは、Ctrl + Dでも終了できます。

対話モードは、計算や関数の挙動を少し確認したいときに便利です。長いプログラムは、.pyファイルへ保存して実行しましょう。

pipでPythonパッケージを使う

Pythonでは、外部パッケージを追加して機能を増やせます。

パッケージのインストールに使われる代表的なツールがpipです。

pipが使えるか確認する

次のコマンドで確認します。

python3 -m pip --version

pipが見つからない場合、Ubuntu・Debian系では次のパッケージを入れます。

sudo apt install python3-pip

Red Hat系では、次のようにインストールします。

sudo dnf install python3-pip

pip3というコマンドもありますが、どのPythonへインストールするか明確にするため、私はpython3 -m pipをよく使います。

sudo pip installは避ける

次のようにsudoを付け、システム全体へパッケージを入れる方法はおすすめしません。

sudo pip3 install パッケージ名

Linuxのパッケージマネージャーが管理するPythonと、pipが管理するファイルが混ざると、OSのツールへ影響する可能性があります。

最近のLinuxでは、システム管理下のPythonへpip installすると、externally-managed-environmentというエラーが表示されることもあります。

このエラーを無理に回避するのではなく、仮想環境を使いましょう。

venvでPythonの仮想環境を作る

仮想環境を使うと、プロジェクトごとにパッケージを分けて管理できます。

別のプロジェクトで異なるバージョンのパッケージを使いたい場合にも便利です。

venvを準備する

Ubuntu・Debian系では、環境によってpython3-venvが必要です。

sudo apt install python3-venv

続いて、作業用ディレクトリを作ります。

mkdir python-practice
cd python-practice

.venvという名前で仮想環境を作成します。

python3 -m venv .venv

仮想環境を有効化します。

source .venv/bin/activate

プロンプトの先頭に(.venv)と表示されれば、有効化されています。

仮想環境へパッケージを入れる

例として、requestsをインストールします。

python -m pip install requests

仮想環境の中では、python.venv内のPythonを指します。

確認してみましょう。

command -v python

次のように、.venv内のパスが表示されます。

/home/user/python-practice/.venv/bin/python

仮想環境を終了する場合は、次のコマンドを実行します。

deactivate

Python公式ドキュメントでも、プロジェクトごとに独立した環境を作る方法としてvenvが案内されています。

Pythonスクリプトを直接実行する方法

通常は、python3 hello.pyという形式で十分です。

Linuxでは、ファイル自体をコマンドのように実行することもできます。

シバンと実行権限を設定する

スクリプトの1行目へ、次の記述を追加します。

#!/usr/bin/env python3

print("Hello, World!")

先頭の#!から始まる行は、シバンと呼ばれます。

ファイルへ実行権限を追加します。

chmod u+x hello.py

続いて、カレントディレクトリのファイルとして実行します。

./hello.py

./の意味がわからない方は、次の記事も参考にしてください。

【関連記事】Linuxで「./」を付けて実行する理由

LinuxでPythonが動かないときの確認方法

Pythonをインストールしても、エラーが出る場合があります。

何が見つからないのかを、エラーメッセージから順番に確認しましょう。

python3 command not foundと表示される

次のエラーは、python3が見つからないことを表します。

python3: command not found

まず、次のコマンドで確認します。

command -v python3

何も表示されなければ、使用中のLinuxに合わせてaptまたはdnfでインストールします。

Permission deniedと表示される

./hello.pyで権限エラーになる場合は、実行権限を確認します。

ls -l hello.py
chmod u+x hello.py

ただし、python3 hello.pyという形式なら、スクリプト自体に実行権限がなくても実行できます。

ModuleNotFoundErrorと表示される

外部パッケージが見つからない場合は、仮想環境を有効化しているか確認します。

command -v python
python -m pip show requests

別のPythonへパッケージを入れていると、インストール済みでも読み込めません。

pipだけではなく、python -m pipを使うと、現在のPythonとの対応を確認しやすくなります。

LinuxのシステムPythonを上書きしない

Pythonを学び始めると、新しいバージョンを入れたくなることがあります。

しかし、/usr/bin/python3を手作業で置き換えたり、OSが導入したPythonを削除したりするのは危険です。

OSの管理ツールがPythonを利用することがある

Linuxディストリビューションによっては、システム管理用のプログラムがPythonを使用しています。

システムPythonを壊すと、パッケージ管理や管理コマンドが動かなくなる可能性があります。

私は10年以上エンジニアとしてサーバーを扱っていますが、Pythonのバージョンを変更するときほど、誰がそのPythonを管理しているかを確認します。

新しいバージョンが必要なら、システムPythonを消すのではなく、仮想環境やコンテナなどで分離するのが基本です。

LinuxでPythonを使う方法まとめ

今回の記事では、LinuxでPythonを使う方法について解説しました。Pythonをインストールして、スクリプトを実行するところまでを実施しました。

最後に、基本の流れを整理します。

やりたいこと コマンド例
Pythonの確認 python3 --version
Ubuntu・Debianへ導入 sudo apt install python3
Red Hat系へ導入 sudo dnf install python3
スクリプト実行 python3 hello.py
仮想環境の作成 python3 -m venv .venv
仮想環境の有効化 source .venv/bin/activate
パッケージ導入 python -m pip install パッケージ名
仮想環境の終了 deactivate

LinuxでPythonを使うことは、よくあると思うので、Pythonコマンドが無くて困っている方は参考にしてください。

最初は、python3 --versionで現在の状態を確認し、必要な場合だけパッケージマネージャーで導入しましょう。

外部パッケージを使う場合は、システム全体へ直接入れるのではなく、仮想環境を利用する方法がおすすめです。

InfraAcademyでは、Linuxコマンドやサーバー構築を、ブラウザ上で実際に操作しながら学べます。

Linux入門講座を見る

ここまでお読みいただきありがとうございました。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る