Windowsでpyenv(pyenv-win)
pyenvを使おうと思って公式見たらpyenv-win使えと書いてあった。
If you're on Windows, consider using @kirankotari's pyenv-win fork. (pyenv does not work on windows outside the Windows Subsystem for Linux)
使い方も含めてメモ
pyenvとは
- Pythonのバージョンを切り替えるツール
- それ以外の事をしないというのが混乱しないためのポイント。
- ライブラリ管理的な事もできるようだが、そちらはPython公式がサポートしているvenvを使用する
- この記事の最後に書いた。
前提
- python(pip)がインストール済み
インストール
詳細はpyenv-winのGitHubをみてください。
- install
pip install pyenv-win --target %USERPROFILE%/.pyenv
- PATHに追加
- 別のコマンドプロンプト起動
- セッションを切り替えないと環境変数が有効とならないため
- PATHが通っていることを確認
pyenv --version
- 設定
pyenv rehash
- バージョンが切り替わらないなど何かあったらrehash
使い方
- インストール可能なバージョン確認
pyenv install --list
- pythonインストール
pyenv install 3.5.2
- pythonのバージョン切り替え
pyenv local 3.5.2
どうやって切り替えている?
- pythonが呼ばれる
- PATHを辿る
- shims下にpython.batを見つける
- shimsの前にpythonがあるとpyenvは起動せず、バージョンが切り替わらない
- shims内が空だとpyenvは起動せず、バージョンが切り替わらない
- python.batからpyenvが呼ばれる
- 「.python-version」から指定されたpythonのバージョンを調べ、pythonが実行される
- ここはコード見ていないので想定。
メモとか
- pyenvがある状態での仮想環境作成
mkdir project cd project pyenv install 3.5.2 pyenv local 3.5.2 python -m venv .venv .venv\Scripts\activate