Python 環境構築(Windows編)

f:id:Naotsugu:20211022202707p:plain


はじめに

古い情報があふれているため、2021年における Python のインストール手順についてまとめます。

Python のインストールは、オリジナルな Python か、科学技術計算向けのAnacondaディストリビューションを介するかのいずれかで行うことが多いです。

ここでは、オリジナルな Python 処理系のインストール手順について示します。バージョンは Python 3.10 をターゲットとします。

Mac 環境は以下を参照してください。

blog1.mammb.com


Windows 環境へのインストール

https://www.python.org/](https://www.python.org/) からOSに応じたインストーラをダウンロードして実行します。

ここでは、Python Releases for Windows のページ中、Download Windows installer (64-bit) のリンクから、python-3.10.0-amd64.exe をダウンロードしました。

Windows 向けのリリースパッケージには、その他に Windows embeddable package も提供されています。これは Python 3.5 から提供されるようになった、埋め込み可能なパッケージです。 最小限の Python 環境を含んだ ZIP ファイルで、何かアプリケーションの一部に埋め込んで利用するためのものです。通常は、Windows embeddable package ではなく、Windows installer によりインストールすることになるでしょう。

インストーラ python-3.10.0-amd64.exe を実行すると以下のウイザードが立ち上がります(既に Phthon がインストール済みで、マイクロバージョン違いのインストーラを実行した場合には、アップグレードインストールとなります)。

f:id:Naotsugu:20211022202424p:plain

このダイアログにて、多くの入門記事では Add Python 3.XX to Path にチェックを入れるように案内されていますが、通常は python コマンドは使わず、py コマンドを使うことになるため、デフォルトの通り 未チェックで進めておけば良いです。

なお、Add Python 3.XX to Path にチェックを付けた場合は、環境変数 Path に以下が追加されます。

  • C:\Users\<USER_NAME>\AppData\Local\Programs\Python\Python310\Scripts\
  • C:\Users\<USER_NAME>\AppData\Local\Programs\Python\Python310\

[Install Now] を選択して進め、インストールを完了します。

f:id:Naotsugu:20211022202451p:plain

[Disable path length limit] について簡単に説明しておきます。

Windows はファイルパスは最大260文字に制限されていましたが、Windows10からは、この制限を解除できるようになりました。それに伴い、Python 3.6 から長いファイルパスのサポートが可能となり、この設定解除をインストール時に行うことができます。通常は設定せずに、そのまま Close で終了します。


py コマンド

インストールが完了すると、C:\Windows 以下に pyshellext.amd64.dll pyw.exe py.exe が作成されます。 Windows のインストーラでは、Python 3.3 より、このコマンドがデフォルトでインストールされます。

py コマンドは、python コマンドのランチャであり、インストールされた複数バージョンの python の切り替えが行えます。

Python 操作時には、py コマンドを利用することになります。

py コマンドでバージョンを確認します。

> py --version
Python 3.10.0

py コマンドは、複数バージョンの Python がインストールされている場合、最新のバージョンが選択されます。バージョンを指定したい場合は以下のように指定できます。

> py -3.7 xxx

インストールされている Python は以下でリストすることができます。

> py --list-paths

Installed Pythons found by py Launcher for Windows
 -3.10-64       C:\Users\<user>\AppData\Local\Programs\Python\Python310\python.exe *
 -3.7-64        C:\Users\<user>\AppData\Local\Programs\Python\Python37\python.exe


venv で仮想環境を作成する

Python では、Python ランタイムのバージョンに加え、周辺ライブラリパッケージのバージョン管理が必要になります。 ライブラリを(pipを使って)インストールすると、グローバルにインストールされるため、プロジェクトに応じたパッケージバージョンを利用するには実行環境を切り替える仮想環境を使う必要があります。

Python 3.4 までは、仮想環境のツールは pyvenv でしたが、Python 3.6 では非推奨となり、現在は venv が推奨ツールとなっています(旧来の virtualenv が venv として取り込まれたものです)。

venv を使うことで以下が実現できます。

  • システム全体で使うPython環境に影響を与えずにモジュールの追加・入れ替えを行う
  • 異なるバージョンの Python を使いわけたり、同じモジュールの複数のバージョンを使い分ける

仮想環境は、プロジェクトディレクトリで以下のように作成します。

> mkdir python
> cd python
> py -m venv .venv

.venv は仮想環境のディレクトリ名で、好きな名前を付けることができます(.venv とすることが多いです)。

仮想環境ディレクトリの .venv\Scripts 配下には以下のスクリプトが作成されます。

activate         activate.bat     Activate.ps1     deactivate.bat   pip.exe
pip3.10.exe      pip3.exe         python.exe       pythonw.exe

作成されたスクリプトを使って、仮想環境への切り替えを行います。

> .venv\Scripts\activate.bat
(.venv) >

仮想環境への切り替えを行うと、プロンプトに仮想環境名が表示されるようになります。

上記はコマンドプロンプトの例です。PowerShell では以下となります。

> .venv\Scripts\Activate.ps1
(.venv) >

PowerShell でポリシーエラーが出る場合は、以下でポリシーの変更を行い、再度実行してください。

PS C:\> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force


仮想環境から抜けるには以下のようにします。

(.venv) > deactivate
>


Python のバージョンを指定した仮想環境は、py コマンドにバージョンを指定することで作成できます。

> py -3.7 -m venv py37env


pip でパッケージをインストールする

pip は、Python パッケージの管理を行うユーティリティで、Python 3.4 以降で標準付属されています。pip コマンドを利用することで、The Python Package Index に公開されているパッケージのインストールなどを行うことができます。

pip によるパッケージ操作は、通常、仮想環境で操作します。仮想環境で操作することで、プロジェクト別で利用するパッケージのバージョンを管理することができます。

pip のバージョンは以下のように確認できます。

(.venv) > py -m pip --version
pip 21.2.3 from C:\Users\<path_to_project>\.venv\lib\site-packages\pip (python 3.10)

仮想環境内の pip が使われていることがわかると思います。

仮想環境内では、パスが通っているので、py -m を付けなくても大丈夫です。仮想環境外での利用も考慮して、ここでは py -m を付けて記載します。

pip のアップグレードは以下のように行います。

(.venv) > py -m pip install --upgrade pip

Requirement already satisfied: pip in c:\users\<path_to_project>\.venv\lib\site-packages (21.2.3)
Collecting pip
  Downloading pip-21.3-py3-none-any.whl (1.7 MB)
  ...


pip によるパッケージのインストールは pip install で行います。

例えば、django パッケージのインストールは以下のようになります。

(.venv) > py -m pip install django

Collecting django
  Downloading Django-3.2.8-py3-none-any.whl (7.9 MB)
 ・・・

折角なので、アプリを起動してみましょう。

(.venv) > django-admin startproject sample
(.venv) > cd sample
(.venv) > $ py manage.py runserver


f:id:Naotsugu:20211022202531p:plain

起動できましたね。

pip 自体の操作は別の記事で説明します。