WindowsにPythonをインストールすると、デフォルトのインストール先は以下のようにユーザーディレクトリ内のAppData¥Local¥Programs¥Pythonの中になります。

python default install

「AppDataフォルダ」は隠しフォルダなので、普段はあまり目にしない場所です。そのため、少々戸惑うこともあると思います。

そもそも「AppDataフォルダ」とは何のための場所なのでしょうか。どうして、普通のWindowsアプリケーションと同じく、「C:¥Program Files(または、C:¥Program Files (x86))」にインストールしないのでしょうか。今回はそんな素朴な疑問を考えてみます。

インストール場所の確認方法

既にインストール済みの場合、「Pythonがどこにインストールされているか」は、Pythonを起動してsys.exec_prefixを実行すると確認できます。以下のように、Python本体のファイルがインストールされているディレクトリが表示されます。

また、sys.executableを実行すると、Pythonの実行ファイル(python.exe)の場所が絶対パスで表示されます。

>>> import sys
>>> sys.exec_prefix
'C:¥¥Users¥¥Ichiro¥¥AppData¥¥Local¥¥Programs¥¥Python¥¥Python37-32'
>>> sys.executable
'C:¥¥Users¥¥Ichiro¥¥AppData¥¥Local¥¥Programs¥¥Python¥¥Python37-32¥¥python.exe'

Windowsのスタートメニューの「ファイルの場所を開く」からショートカットを辿る方法もありますが、Pythonを実際に起動する上記の方法が簡単で確実です。

Pythonランチャーで確認

Pythonランチャー(py.exe)でも確認できます。複数バージョンをインストールしている場合は、以下のコマンドですべてのバージョンの場所を確認できます。

C:¥Users¥Ichiro> py --list-paths

pyコマンドで起動するデフォルトのバージョンには、以下のようにアスタリスク*が付きます。

pylauncer list

AppDataフォルダとは

AppDataフォルダ(「Application Data」の略)は、Windowsアプリケーションが設定ファイルやデータを保存する場所であり、ユーザーディレクトリ(C:¥Users¥<ユーザー名>)の下に作成されます。例えば、ユーザー名がIchiroであれば、C:¥Users¥Ichiro¥AppDataになります。

隠しフォルダになっている!ので、以下のようのエクスプローラで表示 ▶ 隠しファイルをチェックすると見えるようになります。

appdata dir

AppDataフォルダの構成

AppDataフォルダの中を覗くと、以下のようにLocalLocalLowRoamingの3つのフォルダが確認できます。

appdata 3dirs

3つともアプリケーションデータを保存する場所ですが、Roamingはドメイン環境にサインインした時に、コンピュータ間で同期するデータを格納します。例えば、ソフトの設定ファイルのように、ドメイン環境で他のPCからサインした時に参照したいデータなどはここに入れておきます。

一方、Localは、コンピュータ間で同期しないデータを保存します。つまり、1台のコンピュータに固有のデータを格納します。コンピュータ間で同期しないので、実行ファイルや大きなファイルはここに入れます。そのため、Pythonもデフォルトでここにインストールします

なお、LocalLowは、権限を制限して実行したいアプリケーションのデータを保存します。LocalRoamingへはアクセスできないようにして、アクセスをここだけに制限します。

以下のサイトを参考にしました

Managing Roaming User Data Deployment Guide

Program Filesか、AppDataか

デフォルトのインストール場所については、長く議論されていた ようです。賛否両論がありますが、Program Filesにならなかった理由としては、1)セキュリティ上の問題が示唆されるため、2)「Program」と「Files」の間のスペースが問題になることがある、などが挙がっています。

さらに、Windows VistaからUAC(ユーザーアカウント制御:User Account Control)が導入されたため、Program Filesの中を更新するには、管理者権限が必要です。そのため、初めてPythonを使う場合はpip installでつまずく原因になります。–user オプションを使うなどで対応できますが、特に理由がなければデフォルトのままインストールすることをおすすめします

Program Filesへのインストール方法

上記のように、AppDataフォルダ内がデフォルトのインストール場所ですが、Program Filesにインストールできない訳ではありません。Program Filesにインストールするには、以下の手順でインストールを行います。

1.「Customize installation」を選択

python custom install

2.「Next」をクリック

python custom install next

3.「Install for all users」をチェック

python default location

以下のように、「Install for all users」をチェックすると、インストール場所がC:¥Program FilesC:¥Program Files (x86))に変わります(64ビットのパソコンに、32ビット版のPythonをインストールするとC:¥Program Files (x86)になります)。

python custom location

4.「Install」をクリック

「Install」ボタンをクリックして引き続きインストールを実行します。

参考:複数のバージョンをインストールしている場合

複数のバージョンのPythonをインストールした場合は、以下のようにバージョンごとにフォルダが作成されます。フォルダ名は、「Python+バージョン-32」(例えば、バージョン3.7ならば「Python37-32」)となります。なお、「-32」は、32ビット版の意味です。

windows appdata dir