Pythonディストリビューション使い分けのポイントを考えてみよう(Windows編):Python環境構築入門(1/3 ページ)
python.orgで配布されているインストーラー、Anacondaなど、Windows向けに配布されているPython処理系はたくさんある。それらのインストールの仕方や仮想環境の作り方、選択のポイントを紹介する。
春到来。このタイミングでプログラミングや機械学習に取り組んでみようという方もいることだろう。そんな人にうってつけのプログラミング言語が「Python」だ。とはいっても、Windowsだけに限ってもインストールする候補はたくさんある。例えば、以下のようなものが考えられる。
インストール方法 | pythonコマンド | 仮想化 | 備考 |
---|---|---|---|
python.org | py | venv | 公式 |
Anaconda | python | conda create | データサイエンスや機械学習に関連する多数のパッケージが同梱される |
Miniconda | python | conda create | Anacondaとは異なり、最小限の構成となる |
Microsoft Store | python | venv | ファイルシステムやレジストリの扱いが他のものと異なる |
winget | py python |
venv | Microsoft製のパッケージマネジャー。wingetではMicrosoft Store版Pythonもインストーラー版Pythonもインストール可能 |
本稿で取り上げるPythonのインストール方法 |
この他にもChocolateyからインストールすることも可能だし、WinPythonというディストリビューションもあるし、他にもディストリビューションは幾らでもある。何なら自分でソースコードからビルドすることだってできる。それら全てを取り上げるのは無理なので、本稿では上の表に示した5種類のインストール方法を見ていくことにする。
python.orgからのインストール
Pythonをインストールしようというときに最初に候補となるものの1つはもちろんPythonの公式サイトであるpython.orgで配布されているものだろう。
python.orgのダウンロードページ(Windows用)には、さまざまなバージョンのPython処理系がインストーラーやZIPファイルなど、さまざまな形式で登録されている。ここではいわゆる「フルインストーラー」をダウンロードしている。
通常は最新バージョンをダウンロードしてインストールしておけばよいだろう。とはいえ、自分が使いたいフレームワークがPythonの最新バージョンをまだサポートしていない場合もある(特に年に一度のバージョン3.Xがリリースされた直後など)。そうしたときには、最新バージョンではなく、少し古いバージョンをインストールすることになる。
また、Google Colabなど、Web上のサービスがPythonの最新バージョンではなく古いバージョンを動作環境としていることもある。その場合、ローカル環境に最新バージョンをインストールして、最新バージョンからサポートされた機能を使っていると、Web上にプログラム(やノートブック)を持っていったときにコードを修正する必要も出てくる(例えば、2022年3月18日時点でGoogle ColabのカーネルはPython 3.7.12となっている。この環境でPython 3.9からサポートされた辞書に対する和集合演算子「|=」を使おうとすると例外が発生する)。
こうしたことから、基本線は最新バージョンをインストールすることだが、実際の使い方に合わせて必要なバージョンをインストールすることになるだろう。このときに注意したいのはインストールした実行ファイル(python.exeやpip.exeなど)があるディレクトリを環境変数PATHに追加するかどうかだ。
上の画像はPython 3.9.11のインストーラーの画像だが、[Add Python 3.9 to PATH]をチェックすると、環境変数PATHにpython.exeやpip.exeなどが格納されているディレクトリが追加される。こうすることで、コマンドプロンプトなどで「python」と入力することで「そのバージョンのPython」が実行されるようになる。が、複数のバージョンのPythonをインストールしたときには、それらのうちのいずれかしか実行できない(直近に環境変数PATHに追加したもの)。
特定のバージョンのPythonを決め打ちで使うのならそれでよいが、そうではなく、時と場合によって複数のバージョンを使い分けたいのであれば、このチェックボックスをオンにしない方がよい(そのため、上の画像ではデフォルトでチェックが外れている)。そうではなく、Python処理系と同時にインストールされるpyコマンド(Pythonランチャー)を使うことをオススメする。
複数のバージョンのPythonがインストールされている場合、pyコマンドを使うと「py -3.10」「py -3.9」のようにバージョンを指定することで、起動するPython処理系を切り替えられる。
あるいはPythonスクリプトにシバン(shebang)行を加えておいてもよい。以下に例を示す(ファイル名はfoo.pyとする)。
#!python3.9
import sys
print(sys.version)
このようにしておけば、「py foo.py」を実行したときに、Python 3.9が使われるようになる。
使用するPythonのバージョンを切り替えるには仮想環境を作成する方法もある。これにはvenvモジュールを使用する。以下はpyコマンドを使ってこれを行う例だ。
>py -3.10 -m venv venv310
このコマンドラインは使用するPythonのバージョンとして3.10を指定して、venvモジュールを実行して「venv」という名前のディレクトリの下に仮想環境に必要な要素をコピーするものだ。
作成した仮想環境を有効にするには「仮想環境ディレクトリ\Scripts\activate.bat」(PowerShell環境なら拡張子は「ps1」となる)を実行する。
>venv310\Scripts\activate.bat
これによりプロンプトは仮想環境ディレクトリの名前を含んだ「(venv310)」が前置されたものとなり、このコマンドプロンプトでは作成した仮想環境が有効化されていることが明示される。仮想環境を無効化するには「仮想環境ディレクトリ\Scripts\deactivate.bat」を実行すればよい。
上の画像を見ると分かるが、仮想環境下では「python」コマンドを実行することで、指定したPython処理系が起動する。よって、pyコマンドを使う必要はない。
なお、Visual Studio Code(以下、VS Code)でそのディレクトリを開き、インタプリターとして仮想環境にあるpython.exeを選択し、コマンドパレットから[Python: Create Terminal]コマンドを実行すると、その仮想環境が有効化された状態で統合ターミナルが開かれる。
特定のプロジェクトで多くのモジュールやパッケージをインストールするのであれば、仮想環境を構築した上で、そこに必要なものをインストールしていくと、ローカルな環境をキレイにしたまま開発に必要な環境をセットアップできるので、python.orgからPythonをインストールするのであれば、venvモジュールは活用することをオススメする。
筆者個人はWindowsでもmacOSでも、python.orgからPythonをインストールして使うようにしている。これは、それが一番素直で、多くの人が取っている方法ではないかと考えたからだ。pythonコマンドがなくて、pyコマンドを使うのも慣れてくれば、そして仮想環境をその都度作成するようにすればそれほど気にはならない(ディスク容量にはそれなりのインパクトがあるかもしれないが)。公式サイトで入手できるという安心感が重要な人にはオススメだ。
Copyright© Digital Advantage Corp. All Rights Reserved.