Pythonディストリビューション使い分けのポイントを考えてみよう(Windows編)Python環境構築入門(1/3 ページ)

python.orgで配布されているインストーラー、Anacondaなど、Windows向けに配布されているPython処理系はたくさんある。それらのインストールの仕方や仮想環境の作り方、選択のポイントを紹介する。

» 2022年03月23日 05時00分 公開
[かわさきしんじDeep Insider編集部]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「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ファイルなど、さまざまな形式で登録されている。ここではいわゆる「フルインストーラー」をダウンロードしている。

Windows版Pythonのダウンロードページ Windows版Pythonのダウンロードページ

 通常は最新バージョンをダウンロードしてインストールしておけばよいだろう。とはいえ、自分が使いたいフレームワークが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を環境変数PATHに追加するかどうかを指定する インストーラー画面の最初でPythonを環境変数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処理系を切り替えられる。

pyコマンドで起動するPythonのバージョンを切り替える pyコマンドで起動するPythonのバージョンを切り替える

 あるいはPythonスクリプトにシバン(shebang)行を加えておいてもよい。以下に例を示す(ファイル名はfoo.pyとする)。

#!python3.9

import sys
print(sys.version)

実行するPythonのバージョンをシバン行で指定

 このようにしておけば、「py foo.py」を実行したときに、Python 3.9が使われるようになる。

 使用するPythonのバージョンを切り替えるには仮想環境を作成する方法もある。これにはvenvモジュールを使用する。以下はpyコマンドを使ってこれを行う例だ。

>py -3.10 -m venv venv310


venvモジュールを使った仮想環境の作成

 このコマンドラインは使用するPythonのバージョンとして3.10を指定して、venvモジュールを実行して「venv」という名前のディレクトリの下に仮想環境に必要な要素をコピーするものだ。

 作成した仮想環境を有効にするには「仮想環境ディレクトリ\Scripts\activate.bat」(PowerShell環境なら拡張子は「ps1」となる)を実行する。

>venv310\Scripts\activate.bat


仮想環境の有効化

 これによりプロンプトは仮想環境ディレクトリの名前を含んだ「(venv310)」が前置されたものとなり、このコマンドプロンプトでは作成した仮想環境が有効化されていることが明示される。仮想環境を無効化するには「仮想環境ディレクトリ\Scripts\deactivate.bat」を実行すればよい。

仮想環境「venv310」が有効化されたコマンドプロンプト 仮想環境「venv310」が有効化されたコマンドプロンプト

 上の画像を見ると分かるが、仮想環境下では「python」コマンドを実行することで、指定したPython処理系が起動する。よって、pyコマンドを使う必要はない。

 なお、Visual Studio Code(以下、VS Code)でそのディレクトリを開き、インタプリターとして仮想環境にあるpython.exeを選択し、コマンドパレットから[Python: Create Terminal]コマンドを実行すると、その仮想環境が有効化された状態で統合ターミナルが開かれる。

仮想環境が有効化された状態で開かれた統合ターミナル 仮想環境が有効化された状態で開かれた統合ターミナル

 特定のプロジェクトで多くのモジュールやパッケージをインストールするのであれば、仮想環境を構築した上で、そこに必要なものをインストールしていくと、ローカルな環境をキレイにしたまま開発に必要な環境をセットアップできるので、python.orgからPythonをインストールするのであれば、venvモジュールは活用することをオススメする。

 筆者個人はWindowsでもmacOSでも、python.orgからPythonをインストールして使うようにしている。これは、それが一番素直で、多くの人が取っている方法ではないかと考えたからだ。pythonコマンドがなくて、pyコマンドを使うのも慣れてくれば、そして仮想環境をその都度作成するようにすればそれほど気にはならない(ディスク容量にはそれなりのインパクトがあるかもしれないが)。公式サイトで入手できるという安心感が重要な人にはオススメだ。

       1|2|3 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。