1. ホーム
  2. コース一覧
  3. Python環境構築コース
  4. Pythonの世界へようこそ!

Python環境構築コース1/7

Pythonの世界へようこそ!

こちらでは、Pythonとそのバージョンについて解説します。

Pythonを使っていると、「Python2.7」や「Python3.9」、もしくは「Python2系・3系」というのを目にされるかと思います。この記事を通して、PythonそのものやPythonのバージョンに対する理解を深め、少しでも興味をもっていただけたら幸いです。

Pythonとは

Pythonは、数あるプログラミング言語のうちの一つです。オランダのエンジニアであるGuido van Rossum氏によって開発され、1990年代初頭頃から公開されています。Pythonは「コードの読みやすさ・書きやすさ」そして「汎用性の高さ」といった特徴により、世界的に人気を博している言語です。アプリケーション開発やゲーム開発に加え、近年では、AIや機械学習、データサイエンスなど、幅広い分野で活用されています。

さらに、Pythonにはモジュールやフレームワークが充実しています。それらの便利さも、Pythonが好まれる所以といえます。

バージョンとは

まずは、バージョンの表記方法について説明します。

Pythonでは、セマンティック・バージョニングという手法でバージョンが表記されます。セマンティック・バージョニングでは、X.Y.Z のように、最大 3つのバージョン番号で表します。

これらの番号は左からそれぞれ、メジャーバージョン・マイナーバージョン・パッチバージョンと呼ばれており、それぞれが異なる意味をもっています。

  • メジャーバージョン:後方互換性がなく、APIを変更したときに更新される番号。
  • マイナーバージョン:後方互換性を保ちつつ、APIを変更したときに更新される番号。
  • パッチバージョン:バグや機能の不具合を修正したときに更新される番号。

※API(Application Programming Interface)とは、アプリケーションやソフトウェアと外部のサービスの一部機能を繋ぐものです。APIを利用することで、外部の便利なプログラムが使えます。

※後方互換性とは、新しいバージョンのものがそれより古いバージョンのものも扱えるということです。

ただし、必ずしも 3つの番号が使われるとは限りません。

たとえば、メジャーバージョンのみをとって「Python◯系」というように表すこともあります。

現在(本記事執筆時: 2022/1/21)、Pythonには、2系3系が存在します。2系で提供されている関数や機能のうち3系で扱えないものは基本的にありません。しかし、3系の関数や機能のうち2系で扱えないものは存在します。そのような理由から、多くの場合 3系をインストールします。

また、Python2系はpython2、Python3系はpython3と表記されることもあります。

Pythonのインストール方法

つづいて、実際にPythonをインストールする方法について解説します。

UbuntuなどのDebian系のLinux OSでPythonをインストールするときには、以下のようにaptコマンドを使ってインストールします。

sudo apt update && sudo apt install -y python[version]
  1. sudo apt update

    何かしらのパッケージをインストール前にこのコマンドを実行することで、インストール可能なパッケージの一覧を更新します。

  2. sudo apt install -y python[version]

    こちらのコマンドは、インストールしたいPythonのバージョンを指定して実行します。

    -y オプションは、インストール途中においてYes/Noで聞かれる質問に対して、すべてYesで答えることを明示するためのものです。簡潔に言うと、インストール途中でY(Yes)と答える作業をスキップして、手間を省くためのオプションです。

バージョンの確認

インストールされたPythonのバージョンを確認するためには、pythonコマンドに、--version/-V/-VV のいずれかのオプションをつけて実行します。インストール後の他にも、インストール前にそのパッケージが既にインストールされているかどうかを確認する場合にも使われます。

たとえば、Python3.8をインストールした直後に、ちゃんとインストールされたかを確認したいと思い、コマンドを実行したとします。すると、以下のように表示されます。

python --version
python 3.8

TIP】デフォルトのPythonのバージョンを設定する方法!?

上の例のように、インストール直後にpython --versionを実行すると直前にインストールしたバージョンが表示されます。

それでは、直前にインストールを行っていないときにpython --versionを実行すると、どのバージョンが表示されるでしょうか?

Ubuntuでは多くの場合、Python2.7が表示されます。これは、Ubuntuをインストールした際に、デフォルトでPython2.7にパスを通すように設定されているからです。

(※「パスを通す」というフレーズの意味につきましては、『Envader > Linux基礎コース > PATHの使い方』の解説記事をご参照ください。)

実は、一つのOSには特定のパッケージの複数のバージョンをインストールすることができ、もちろんPythonも同様です。

そこで、Pythonがインストールされている場所のパスを調べ、インストールされているPythonのすべてのバージョンを確認してみましょう。

# Pythonがどこにインストールされているのか調べます。
which python
/usr/bin/python
-----------------------------------------------------------------------------------
# インストールされているPythonのすべてのバージョンを表示します。
ls /usr/bin | grep python
dh_python2
python
python2
python2.7
python3
python3-config
python3.8
python3.8-config
python3.9
x86_64-linux-gnu-python3-config
x86_64-linux-gnu-python3.8-config
-----------------------------------------------------------------------------------
# /usr/bin/pythonの詳細について調べます。
ls -la /usr/bin/python
lrwxrwxrwx 1 root root 7 Apr 15  2020 /usr/bin/python -> python2

すると、/usr/binにPythonがインストールされていることが分かり、Python2.7, 3.8, 3.9といった複数のバージョンがインストールされていることも見て取れます。

さらに、/usr/bin/pythonというパスの詳細を確認すると、Python2系のシンボリックリンクであることが分かります。

(※「シンボリックリンク」という単語の意味につきましては、『Envader > Linux基礎コース > シンボリックリンク』の解説記事をご参照ください。)

このデフォルトのバージョンである2.7を3.9に変更したいときには、Ubuntuの機能のひとつである update-alternativesコマンドを使います。update-alternativesは、バージョン管理を行うための便利なコマンドです。実際に、alternativesに登録されているPythonのバージョンを確認してみましょう。

sudo update-alternatives --config python
update-alternatives: error: no alternatives for python

はじめはPythonが登録されていないため、Pythonの登録を確認してみても上のようなエラーが出ます。そこで、Python2.7と3.9を登録してみます。

# 書式: sudo update-alternatives --install [pythonのパス] python [登録したいバージョンのパス] [優先順位]
# まず、Python3.9を登録します。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
update-alternatives: using /usr/bin/python3.9 to provide /usr/bin/python (python) in auto mode
----------------------------------------------------------------------------------------------------
# 次に、Python2.7を登録します。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
----------------------------------------------------------------------------------------------------
# 登録を確認し、デフォルトに設定したいバージョンのSelectionを選択します。
# 今回は、Python3.9を設定したいので、2を選択して〈Enterキー〉を押します。
sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python2.7   2         auto mode
  1            /usr/bin/python2.7   2         manual mode
  2            /usr/bin/python3.9   1         manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/python3.9 to provide /usr/bin/python (python) in manual mode
----------------------------------------------------------------------------------------------------
# デフォルトのバージョンをPython3.9に設定できたことを確認します。
python --version
Python 3.9.5

無事、Python3.9が設定できましたね!

Pythonの”対話モード”とは

最後に、Pythonの対話モード(インタラクティブモード, REPL)をご紹介します。

その前に、Pythonでプログラムを実行する方法について解説します。Pythonでプログラムを実行する方法には、大きく分けて以下の2通りがあります。

  1. 対話モードでプログラムを実行する。
  2. Pythonファイルにスクリプト(プログラムのコード)を記述し、ファイルを実行する。

対話モードでは、ターミナル(もしくはコマンドプロンプト)でPythonを起動して、その場でプログラムを入力し、すぐに実行できます。

対話モードを起動するには、pythonコマンド、もしくは、python[version]コマンドを実行します。バージョンを指定しない場合には、デフォルトに設定されているバージョンで起動します。

すると、入力待ち状態になるので >>> のあとにPythonのコードを打ち込んで〈Enterキー〉を押すことで実行できます。

対話モードを終了するには、exit関数を実行するか、「Ctrl+D」(MacならCmd+D)を押します。

# 対話モードを起動します。
python
Python 3.9.5 (default, Nov 23 2021, 15:27:38)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
-----------------------------------------------------------------------------------
# 計算してみます。
>>> 5 + 8
13
# print関数で文字列を出力してみます。
>>> print("Hello Python!")
Hello Python!
-----------------------------------------------------------------------------------
# 対話モードを終了します。
>>> exit()

まとめ

Pythonは、初学者の方でも学習を始めやすく、さまざまな企業で活用されている言語でもあります。

これから、EnvaderのPython環境構築コースで学習を進めつつ、実際にご自身のパソコンにもPythonをインストールして、手を動かしてみることをオススメします。

問題を解くためには、十分な画面サイズのPC環境をご利用下さい。