最近のPython環境構築方法の動向
-
公式
最新のバージョンは、2020年12月現在、3.9.1です。
公式のインストール方法は、大きくは変わっていないです。 -
Anaconda
以下の4種類があります。
大抵の人は、Individual Editionを使うと思います。- Commercial Edition
- 7500を超える データサイエンス / Machine Learning のパッケージ
- セキュリティと互換性に優れたすべてのAnacondaのパッケージを利用できる
- $14.95/月
- Team Edition
- CVEレポート
- ユーザー・アクセス・コントロール
- $10,000~
- Enterprise Edition
- すべてそろってる
- サポートあり?
- 価格は相談
- Anaconda Individual Edition
- 個人用
- 無料
- Commercial Edition
-
pyenv
昔からある有名な環境構築ツールの一つです。
変化あり?(Windows)
libexec
フォルダが追加されたみたいです。
代わりに、shims
フォルダは途中から出現するようになったみたいです。
次の Pipenv との組み合わせがよさそうです。
-
Pipenv
最近注目されている環境構築ツールの一つです。
上記 pyenv との組み合わせがよさそうです。 -
その他
思ったよりたくさんの環境構築ツールがありました。
上記の環境構築ツールと合わせてまとめると、以下のようになります。
環境構築ツール名 | 説明 |
---|---|
Anaconda | データサイエンス向けディストリビューション |
pyenv | 複数のPythonバージョンを切り替えるツール |
virtualenv | プロジェクトごとにPython環境を切り分けるツール |
pyenv-virtualenv | 切り分けた環境をPyenv上で選べるようにするPyenv用プラグイン |
pyvenv | Python標準のvirtualenvラッパー(※ある記事によると非推奨らしいです) |
python -m venv | Python標準のvirtualenvラッパー |
Pipenv | Pythonプロジェクトの管理ツール |
※最近の主流は、 pyenv と Pipenv になっているみたいです。
参考:pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
公式の環境構築方法
ここでは、pythonの公式サイト(python.org)からダウンロードしてインストールする方法を説明します。
対象ユーザー
とにかく、シンプルにPythonをインストールしたい人向け。
メリット
- 一番簡単な構築方法なので、すぐに構築作業が終わる
- 公式の構築方法なので、無償かつ、商用利用可能
- exeのインストーラーを使って、グラフィカルに、ほとんど自動でPythonのインストールが可能
- 最新の Python バージョンをインストール可能
デメリット
- 簡単な分、あとで必要なライブラリが増えると、手動のセットアップ作業も増える
- 複数の環境を同時に共存させられないので、環境ごとにPC(OS)を変えなければならない
構築手順
Windows
- OS:Windows10
- Python:3.9.0
まず、Pythonの公式サイト > Downloads > Download Python 3.9.0ボタン をクリックして、「python-3.9.0-amd64.exe」をダウンロードします。
python-3.9.0-amd64.exe を実行します。
表示された最初のウィンドウでインストールの方法を選択します。
おすすめは、以下の設定です。
- Install launchar for all users (recommended) にチェック
- Add Python 3.9 to PATH にチェック
- Customize installation を選択
次の画面で Next をクリックします。
- チェック項目はデフォルトで全て選択になっています
- 必要に応じてチェックをはずします
- 通常は、そのままで大丈夫でしょう
Advanced Options の画面で、必要な項目にチェックをつけて、Installをクリックします。 おすすめは、以下の設定です。
- Install for all users
- Associate files with Python (requires the py launcher)
- Add Python to environment variables
- Precompile standard library
- Download debugging symbols
- 「Customize install location」の例:C:\Python\Python39
Setup Progress のウィンドウでインストールが完了するのを待ちます。
Setup was successful のウィンドウに遷移したら Close ボタンで閉じます。
コマンドプロンプトを起動して、 python
を実行して、以下のような文章が表示されればインストール完了です。
Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
あとは、 pip
コマンドを利用して、必要なライブラリをインストールしていきます。
Ubuntu
- バージョン:20.04.1 LTS
上記環境には、すでに Python 3.8 がインストールされています。
python 3.9 をインストール・設定したい場合、以下の手順を参考にしてください。
パッケージ情報を更新
$ sudo apt update
Python 3.9 をインストール
$ sudo apt install python3.9
Pythonのバージョンを変更(以下は例)
$ update-alternatives --install /usr/bin/python3 /usr/bin/python3.9 1
Pythonのバージョンを確認
$ python3 -V
Python 3.9.0+
のように表示されれば設定完了
このままだと、 pip がない状態なので、 pip をインストールします。
$ sudo apt install python3-pip
最後に、 pip3 list
を実行して、インストールされている python のライブラリのリストが表示されれば、準備完了です。
Anacondaの環境構築方法
ここでは、個人用で無料の Individual Edition を想定して説明します。
また、 Anaconda のインストール部分を中心に説明します。
※データサイエンス分野の環境構築については、 こちら の環境構築の記事が参考になります。
対象ユーザー
以下のような方におすすめします。
- 個人であり、無料で環境構築したい人
- 複数のPythonの環境を共存させたい人
- Pythonで機械学習をはじめとするデータサイエンス分野の環境を構築したい人
- Pythonをベースとして、画像処理に特化した OpenCV を手軽に環境構築したい人
メリット
- 複数の環境を同時に共存させられる
- 個人利用であれば、無料
- データサイエンス分野の環境を手軽に構築することができる
- Pythonで画像処理をするための OpenCV の環境が手軽に構築できる
- GUI を利用してグラフィカルに Anaconda 自体・Python の環境をインストール・構築できる
デメリット
- 商用利用の場合は費用がかかる($14.95/月)
- 他の環境構築方法と比べて、ベース環境のインストール(初期インストール)に時間がかかる
構築手順
Windows
- Windows 10
- Anaconda3 (Python 3.8)
- Individual Edition
Anaconda の Individual Edition > 「Download」ボダンをクリック > ページ内移動後の Windows の部分 > 64-Bit(32bit) Graphical Installer をクリック で exe ファイル(例:Anaconda3-2020.11-Windows-x86_64.exe)をダウンロードします。
exe ファイルを実行します。
インストールのウィンドウが表示されるので、OS を再起動したくなければ、他のアプリケーションを終了しておきます。
ライセンス契約の文章を確認して、「I Agree」ボタンをクリックします。
インストールのタイプを選択する画面で、PC上の今アクティブなユーザー(自分)だけにインストールするか、全てのユーザーにインストールするかを選んで、「Next >」ボタンをクリックします。
(ここでは、全てのユーザー(All Users)を選択しています。)
インストールする場所を指定するウィンドウが表示されるので、任意のインストール場所を設定します。
(例:C:\Python\Anaconda3\)
デフォルトで「Register Anaconda3 as the system Python 3.8」にのみチェックがついているので、内容を確認してそのまま「Install」ボタンをクリックします。
(システム環境変数 (PATH) に Anaconda3 を設定するのは、 Anaconda3 のアンインストール時に問題を引き起こす可能性があるので、お勧めしません。)
インストールの進捗バーが表示されるので、インストール処理が終了するまで待ちます。
インストール処理が終わったら、「Next >」ボタンをクリックします。
PyCharm のダウンロードのお知らせページで「Next >」ボタンをクリックします。
インストール完了のウィンドウが表示されたら、全てのチェックを外して「Finish」ボタンをクリックします。
次に、環境変数の設定をします。
コントロールパネル > ユーザーアカウント > ユーザーアカウント > 環境変数の変更 をクリックします。
(ここでは、あえてユーザーアカウントから設定する手順を踏んで、システム環境変数を編集しないようにしています。)
ユーザー環境変数 > Path を選択して、「編集」ボタンをクリックします。
「新規」ボタンをクリックして、 Anaconda の関連する以下のフォルダを追加します。
- (例)「C:\Python\Anaconda3」
- (例)「C:\Python\Anaconda3\Scripts」
- (例)「C:\Python\Anaconda3\Library\bin」
この際、古い Anaconda のフォルダが登録されていたら、そのパスを削除しておきます。(エラー回避のため)
最後に、適切にインストールされたかを確認します。
コマンドプロンプトを起動して、 conda -V
と入力して実行します。
conda 4.9.2
というように Anaconda のバージョンが表示されます。
続いて、 conda env list
と入力して実行します。
以下のように、思った通りのパスが表示されればインストール完了です。
# conda environments:
base * C:\Python\Anaconda3
Ubuntu
- バージョン:20.04.1 LTS
- Anaconda3 (Python 3.8)
- Individual Edition
※注意事項:
anaconda単独だと実は問題があります。
curlやsqlite3,opensslなどを一緒にインストールして動作をのっとります。
参考:データサイエンティストを目指す人のpython環境構築 2016
上記の記事にもあるように、 Linux の場合は他のソフトの動作をのっとることがあるようです。
このような予期せぬ動作を防ぐために、 pyenv を経由することが推奨されています。
上記の記事の環境構築方法をそのまま参考にして、まずは pyenv をインストールします。
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
次に、 Anaconda をインストールします。
(今や、 Python 3.8 が登場していて、 Anaconda は 3系しかないです。)
# 最新版を確認。
$ pyenv install -l | grep ana
# 2020年12月現在、 anaconda3-2020.07 が最新
# 以下の一行の実行完了には少し時間がかかります。 (Installed Anaconda~ が表示されれば、インストール完了です。)
$ pyenv install anaconda3-2020.07
$ pyenv rehash
# anacondaをメインのpythonに設定。
$ pyenv global anaconda3-2020.07
# activateがpyenvとanacondaでバッティングするので、pathに明示しておく。
$ echo 'export PATH="$PYENV_ROOT/versions/anaconda3-2020.07/bin/:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
#念のためconda自体をアップデートしておく。
$ conda update conda
※注意事項:
$ echo 'export PATH="$PYENV_ROOT/versions/anaconda3-2020.07/bin/:$PATH"' >> ~/.bashrc
には副作用があって、pyenv globalやpyenv localをいっさい受け付けずに、常にanacondaを使うようになります。
anaconda以外も使う人や、主にpyenv local
で運用したい人などは、Pathに記載するのをやめてcondaのactivateをフルパスで入れる必要があります。
source ~/.pyenv/versions/anaconda3-2020.07/bin/activate <環境名>
環境を頻繁に切り替えないでanacondaだけでやっていく人はpathに明示した方がよいと思います。
参考:pyenvとanacondaを共存させる時のactivate衝突問題の回避策3種類
最後に、適切にインストールされたかを確認します。
端末を起動して、 conda -V
と入力して実行します。
conda 4.9.2
というように Anaconda のバージョンが表示されます。
続いて、 conda env list
と入力して実行します。
以下のように、思った通りのパスが表示されればインストール完了です。
# conda environments:
#
base * /home/[ユーザ名]/.pyenv/versions/anaconda3-2020.07
pyenv + Pipenv の環境構築方法(参考。考古学的構築方法)
ここでは、最近のPythonの環境構築方法で主流となっているらしい、 pyenv と Pipenv を組み合わせた方法を説明します。
ここでの説明は、最新の利用方法とは言えないので、あくまで考古学的な構築方法として参考にしてください。
対象ユーザー
以下のような方を想定しています。
- 個人であり、無料で環境構築したい人
- 複数の Python の環境を共存させたい人
- Python でデータサイエンス分野を主な開発分野としていない人
- 軽い動作の Python 開発環境を構築したい人
メリット
- 複数の環境を同時に共存させられる
- オープンソースなので制限なく無料
- Anaconda と比べて比較的動作が軽い
- 必要なライブラリだけ追加していくので、保存領域を無駄に使わない
- 最新の Python バージョンをインストール可能
デメリット
- 必要なライブラリが大量にある場合、インストール時のコマンドが長くなる
- 事前にライブラリのバージョンの互換性を把握しておかなければならない
- コマンド操作なので、操作には慣れが必要
構築手順
Windows
- Windows 10
- pyenv-win (version: 2.64.3)
※注意:公式の pyenv は Windows に対応していません。
そのため、今回は 3rdパーティー のツール pyenv-win を利用します。
このツール、 本家pyenv と異なり Anaconda の管理はできませんが
Python だけなら同じ感覚で管理可能です。
参考:Windows10(非WSL)にpyenv+pipenv環境構築
はじめに、 Linux の pyenv と同じように、ホームディレクトリ(デフォルトは C:\User\ユーザー名\
の配下)に、 .pyenv
フォルダを用意してリポジトリをクローンします。
git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%/.pyenv
(git が未導入の場合はリポジトリをダウンロードして配置しましょう)
→ pyenv-win の公式サイト
次に、環境変数の設定をします。
ユーザー環境変数 PYENV
と PYENV_HOME
がなければ、新規作成して、 クローンしたフォルダのパス を設定します。
※ メモ : PYENV_HOME
は Pipenv をサポートするための環境変数です。
ユーザ環境変数の設定方法:
コントロールパネル > ユーザーアカウント > ユーザーアカウント > 環境変数の変更
をクリックします。
(ここでは、あえてユーザーアカウントから設定する手順を踏んで、システム環境変数を編集しないようにしています。)
ユーザー環境変数 > PYENV
と、 ユーザー環境変数 > PYENV_HOME
を新規作成 or 編集します。
クローンしたフォルダのパスを設定します。
%USERPROFILE%\.pyenv\pyenv-win
続いて、 Path
に、 bin
フォルダと libexec
フォルダのパスを追加します。
※ 注意 :上記2つのフォルダのパスの設定は、 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
よりも上位に設定してください。もし下位に設定した場合は Windows 側が Python がないとみなして Microsoft store の Python を勧めてくるそうです。
%USERPROFILE%\.pyenv\pyenv-win\bin
%USERPROFILE%\.pyenv\pyenv-win\libexec
コマンドプロンプトを開いていたら閉じて、再起動して、 pyenv --version
を実行してください。
以下の3パターンがあります。
-
pyenv 2.64.3
というようにインストールされた pyenv のバージョンが表示されれば、正常ですので、そのまま次に進んでください。 - コマンドが見つかりません、というようなエラーが表示された場合は、これまで設定した環境変数が正しいか確認してください。
- コマンドが見つかりません、というようなエラー表示、かつ、 Visual Studio Code かその他の IDE のターミナルを使っていた場合は、再起動して再度実行してみてください。
ホームディレクトリ(デフォルトは C:\User\ユーザー名\
の配下)で pyenv rehash
を実行してください。
※エラーになった場合は、これまでの手順を再度見直してください。(それでも解決しなければ こちら を確認してください)
pyenv
を実行してください。 pyenv がサポートしているコマンドのリストが表示されれば、 pyenv のインストールは完了です。
pyenv のインストールが完了したら、 pyenv の初期設定を行います。
< pyenv の初期設定 >
確認できる Python のバージョンのリストを更新します。
pyenv update
※少し時間がかかります。(1~3分)
pyenv windows (pyenv-win) がサポートしている Python のバージョンのリストを確認します。
pyenv install -l
※ pyenv update
で更新したリストが一気に表示されます。
上記で確認したリストの中から、インストールしたい Python のバージョンを指定して、 Python をインストールします。
(例):
pyenv install 3.9.1
※インストール中は、随時メッセージが表示されます。その際、質問が表示されることがあるので、そのまま Enter キーを押下していきます。(デフォルトの選択肢から変更しなくてもインストールできます。必要に応じて選択肢を変更してください。)
※ pyenv install
に -q
オプションを付けることで、インストール中のいらないメッセージ、質問を非表示にしてインストールすることも可能です。 (quite installation)
※1つのコマンドで複数のバージョンを一度にインストールすることも可能です。(例: pyenv install 2.7.18 3.9.1
)
pyenv の Python のグローバルバージョンを設定するには、以下を実行します。
(例):
pyenv global 3.9.1
pyenv の Python のローカルバージョンを設定するには、以下を実行します。
(例):
pyenv local 3.9.1
pip コマンドでライブラリを (アン)インストールしたとき、もしくは、バージョンのフォルダの中のファイルを変更したときは pyenv 自体をアップデートするため、以下を実行します。
pyenv rehash
※上記コマンドは、 .pyenv
フォルダーの外部で実行しなければなりません。
pyenv が管理している Python について、現在のフォルダにどの Python バージョンが設定されているかは pyenv version
で確認、 pyenv のシステムにインストールされているすべての Python バージョンを表示するには pyenv versions
を実行します。
※公式(pyenv-win)のその他の情報はこちらを確認してください。
Python 関連のコマンド(python 自体、 pip など)が動くよう Path を再度設定します。(※最新情報)
C:\User\ユーザー名\.pyenv\pyenv-win
の中に shims
フォルダが作成されています。
このフォルダのパス( %USERPROFILE%\.pyenv\pyenv-win\shims
)をコピーして、これまでと同じようにコントロールパネルから ユーザー環境変数 > Path
の設定まで移動して、 コピーしたパスを %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
よりも上位に設定します。
Python の動作確認を行います。
コマンドプロンプトを再起動してください。
python --version
上記のコマンド実行後、 Python 3.9.1
というようにインストール・設定した Python のバージョンが表示されれば問題ありません。 Python 自体のインストールは完了です。
pyenv の Python が正常にインストール・設定できていない場合 (原因候補1)
過去に Anaconda をインストールして Path の設定をしていたことが弦だと思われます。
以下のように確認・修正してください。
-
コントロールパネル > ユーザーアカウント > ユーザーアカウント > 環境変数の変更
をクリック -
ユーザー環境変数 > Path
を選択 -
編集
をクリック - 表示された環境変数の一覧を確認し、
C:\Python\Anaconda3
、C:\Python\Anaconda3\Scripts
のような古い Anaconda のパスが残っている場合は該当のパスを選択し削除
ボタンをクリック - 念のため Windows を再起動
pyenv の Python が正常にインストール・設定できていない場合 (原因候補2)
過去に Python公式 から Python をダウンロード・インストールしていたことが原因だと思われます。
以下のように確認・修正してください。
-
コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数
をクリック -
システム環境変数 > Path
を選択 -
編集
ボタンをクリック - 表示された環境変数の一覧を確認し、
C:\Python\Python39\Scripts\
、C:\Python\Python39\
のような古い Python のパスが残っている場合は該当のパスを選択し削除
ボタンをクリック - 念のため Windows を再起動
※ 注意 :上記の修正では、システム(OS)が参照している重要なパスも表示されています。これらのパスは 絶対に削除しないでください 。他のアプリケーションや、最悪、 Windows 自体の動作 にも影響しかねません。落ち着いて冷静に設定してください。
< Pipenv の導入 >
まずは、 pip
コマンドを用いて、 Pipenv をインストールします。
pip install pipenv
Successfully installed ~
が表示されればインストール自体は終わっています。
ただし、ここで注意する点は、今回 公式なpyenvではなく3rdパーティーのツールを使っている ことです。
このため、このままだと pipenv
コマンドが認識されません。
今回、 こちら のサイトを参考に pipenv
コマンドを設定しました。
C:\User\ユーザー名\.pyenv\pyenv-win\shims
配下の以下の2ファイルを、コピー&ペーストします。(方法はお任せします。私は、エクスプローラー上で Ctrl + C
、Ctrl + V
を用いました。)
pip
pip.bat
コピペした2ファイルを、ファイル名が対応するように以下の名前にリネームします。
pipenv
pipenv.bat
最後に正しく設定できたか確認します。
コマンドを実行して、以下のように表示されれば Pipenv の環境構築は完了です。
C:\>pipenv --version
pipenv, version 2020.11.15