2022/03/02 追記
- つまずきポイント、まだありました。
- 「Pythonのインストール」について
- パスの追加が必要なので、手順に追記しました。
- 「環境変数の設定」について
- 管理者権限のないユーザーが”自身の”環境変数を変更できる方法に修正しました。
- 「Pythonのインストール」について
はじめに
- この記事は、Windows環境においてpyenvでPythonの仮想環境を作り、VSCodeで開発を行いたい方向けの記事です。
Windows環境(WSLなどLinux環境が使えない)でAnacondaから卒業しつつ、Jupyter Notebookで開発したい友人向けの記事です。
参考
- 基本的には下記のページで紹介されている方法に従います。
- しかし、思わぬところにつまづきポイントが有ったので、この記事を書くに至りました。
Pythonのインストール
- WindowsにPythonをインストールします。
- このPythonは後述のpyenv-winのインストールにのみ使用します。
- ここでは、Windows Storeが使えない想定で、下記の公式サイトにアクセスし、インストーラをダウンロードします。
- https://www.python.org/downloads/
- 最新版でOKです。
- この記事では、
v3.10.2
を選択しました。
- 「Install Python 3.X.X」の画面が表示されたら、下の「Add Python 3.X to PATH」のチェックボックスにチェックをします。
- 「Install Now」をクリックします。
- 「Customize installation」の方を選択すると、お好みによってインストール先ディレクトリを変更することができます。
- インストールが完了したら、PowerShellを立ち上げて、以下のコマンドで確認します。
python --version
# Python 3.10.2
pyenv-winのインストール
- pipコマンドでpyenv-winをインストールします。PowerShell or コマンドプロンプトでコマンドが異なるので注意です。
- PowerShellでは、以下のコマンドを実行します。
pip install pyenv-win --target $HOME\\.pyenv
- コマンドプロンプトでは、以下のコマンドを実行します。
pip install pyenv-win --target %USERPROFILE%\.pyenv
- PowerShellでは、以下のコマンドを実行します。
- インストールが完了すると、ユーザーディレクトリ配下に
.pyenv
というディレクトリが生成されます。 - 以下のようなWarningが出ることがありますが、問題ないので無視します。
WARNING: You are using pip version 21.2.4; however, version 22.0.3 is available.
環境変数の設定
- [コントロールパネル]→「ユーザー アカウント」→「ユーザー アカウント」を開きます。
- 左欄の「環境変数の変更」をクリックします。
- 「[ユーザー名]のユーザー環境変数」に環境変数を追加・編集します。(下段にある「システム環境変数」は触りません。)
- 環境変数
PYENV
を追加します。- 「新規」をクリックし、以下の情報を入力します。
- 変数名:
PYENV
- 変数値:
C:\Users\[ユーザー名]\.pyenv\pyenv-win
- 「ディレクトリの参照」から
.pyenv
をインストールした先を選択してもOKです。
- 「ディレクトリの参照」から
- 変数名:
- 「新規」をクリックし、以下の情報を入力します。
- 環境変数
Path
を編集します。-
Path
を選択し、「編集」をクリックします。 - 「新規」をクリックし、以下のパスを入力します。
C:\Users\[ユーザー名]\.pyenv\pyenv-win\bin
C:\Users\[ユーザー名]\.pyenv\pyenv-win\shims
- 上の2つのパスを選択し、「上へ」をクリックすることで、一番上に持ってきます。
- この操作で、上の2つのパスが記事の最初の方で入れたPython(v3.10.2)よりも優先されて、pyenvによる仮想環境が使えるようになります。
-
- 補足
- 参考記事では、
%XXXX%
を利用して環境変数の追加・登録をしていましたが、これだとVSCodeで環境変数がうまく読み込めないという不具合に陥りました。したがって、フルパス入力によって追加・編集をした方が無難だと思います。
- 参考記事では、
- 環境変数
pyenvによる仮想環境の作成
- コンソール(Poweshell、コマンドプロンプト)を立ち上げ直し、環境変数の変更を反映します。
- pyenvが使えることを確認します。
pyenv --version
# pyenv 2.64.11
- お好みのバージョンのPythonをインストールします。
pyenv install --list # インストール可能なバージョン一覧を表示
pyenv install 3.8.10 # ここでは`v3.8.10`を選択
pyenv global 3.8.10
pyenv versions
# * 3.8.10 (set by C:\Users\[ユーザー名]\.pyenv\pyenv-win\version)
- PowerShellで
python
コマンドを実行して確認します。
python
# Python 3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32
# Type "help", "copyright", "credits" or "license" for more information.
# >>>
-
pip
コマンドでお好みのライブラリをインストールします。- ここでのpipはPython 3.8.10のpipなのでライブラリは以下のディレクトリにインストールされます。
C:\Users\[ユーザー名]\.pyenv\pyenv-win\versions\3.8.10\Lib\site-packages
友人向けコマンド
- ここでのpipはPython 3.8.10のpipなのでライブラリは以下のディレクトリにインストールされます。
pip install -U pip setuptools
pip install numpy pandas matplotlib seaborn notebook
- 以下のようなErrorが出ることがありますが、問題ないので無視します。(これに関しては謎です。)
ERROR: Could not install packages due to an OSError: [WinError 5] アクセスが拒否されました。
VSCodeの設定
- 左サイドバーで「拡張機能」をクリックし、「Python」、「Pylance」、「Jupyter」をインストールします。
- インストールが完了したら、再読み込みを行います。
- 上メニューの「ファイル」→「フォルダを開く」で作業フォルダを開きます。
-
*.py
の開発・デバッグを行うための前準備としては、ウィンドウ左下の「インタープリターを選択」で、この記事で導入した「Python 3.8.10 64-bit ('3.8.10': pyenv)」を選択します。 -
*.ipynb
の開発を行うための前準備としては、対象の*.ipynb
を開き、画面右上の表示される「カーネルの選択」から「3.8.10 (Python 3.8.10)」を選択します。 - 以上で開発環境が整います。
-
https://seaborn.pydata.org/examples/different_scatter_variables.html
あとがき
- この記事では、Windowsにおいてpyenvで仮想環境を作り、VSCodeで開発を行うまでを解説しました。
- Jupyter Notebookを用いた開発環境はいくつか種類があると思いますが、VSCodeでは、フォントが選べる、補完機能やF12ジャンプなどの便利機能が使える、などメリットが多いのでこの環境での開発を紹介したく、記事を書きました。