Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
32
Help us understand the problem. What are the problem?

Windows 10 で pyenv + pipenv の環境で Pythonを使いたい

ゴール

  1. pyenv でPythonのバージョン切り替えを行う
  2. pipenv でパッケージの管理を行う

pyenv-win

1. pyenv-win のZIPを展開

GitHubInstallation にある ZIP を使う方法でインストールします。

masterブランチのZIPをダウンロードして、環境変数 %USERPROFILE% が指すディレクトリ(多くの場合は C:\Users\[ユーザ名] )に展開します。

展開すると下のファイルとディレクトリが展開されるので、ディレクトリ pyenv-win-master.pyenv に変更します。

master.zipのファイル構成
pyenv-win-master
│  .gitignore
│  .python-version
│  .version
│  LICENSE
│  mirrors.txt
│  README.md
│  requirements.txt
│  setup.py
│  _config.yml
│
├─.github
│  └─ISSUE_TEMPLATE
│          bug_report.md
│          feature_request.md
│
├─pyenv-win
│  │  __init__.py
│  │
│  ├─bin
│  │      pyenv
│  │      pyenv.bat
│  │
│  └─libexec
│          pyenv---version.bat
│          pyenv-commands.bat
│          pyenv-duplicate.bat
│          pyenv-exec.bat
│          pyenv-export.bat
│          pyenv-global.bat
│          pyenv-help.bat
│          pyenv-install.vbs
│          pyenv-local.bat
│          pyenv-rehash.bat
│          pyenv-shell.bat
│          pyenv-shims.bat
│          pyenv-uninstall.vbs
│          pyenv-version.bat
│          pyenv-versions.bat
│          pyenv-whence.bat
│          pyenv-which.bat
│          pyenv.vbs
│
└─tests
        test_install.bat
        test_uninstall.bat

変更後にdir コマンドで pyenv コマンドの位置を確認します。

cmd> dir %USERPROFILE%\.pyenv\pyenv-win\bin\pyenv
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は BA29-3C85 です

 C:\Users\example-user\.pyenv\pyenv-win\bin のディレクトリ

2020/02/09  22:07                55 pyenv
               1 個のファイル                  55 バイト
               0 個のディレクトリ  790,862,061,568 バイトの空き領域

2.環境変数を設定

1つの環境変数を追加して、PATH に2つのディレクトリを追加します。

  • 新しい環境変数
    • PYENV : %USERPROFILE%\.pyenv\pyenv-win
  • 環境変数PATHの先頭に追加
    • %PYENV%\bin
    • %PYENV%\shims

3.pyenv で利用する Pythonのバージョンを指定する

  • まずは、 pyenv install -l でインストール可能なバージョンを確認します。
  • 次に、必要なバージョンをインストールします。 3.8.1 であれば pyenv install 3.8.1 を実行します。
  • そして使うバージョンを指定します。 pyenv local 3.8.1
  • 最後に %USERPROFILE%\.pyenv\pyenv-win\shims% を更新するために pyenv rehash を実行します。

4.設定結果を確認

python --versionpip --version を実行して指定したバージョンであることを確認します。

cmd>python --version
Python 3.8.1

cmd>pip --version
pip 20.0.2 from c:\users\example-user\.pyenv\pyenv-win\versions\3.8.1\lib\site-packages\pip (python 3.8)

5.うまくいかない場合

pythonを実行すると Microsoft Storeが立ち上がる

python を実行して下の Microsoft Store が表示される場合には2つの原因が考えられます。

  1. %USERPROFILE%\.pyenv\pyenv-win\shims ディレクトリが空になっている。この場合は pyenv rehash を実行して、 %USERPROFILE%\.pyenv\pyenv-win\shims ディレクトリの内容を更新します。
  2. 環境変数 Path に定義されているディレクトリの順番が %USERPROFILE%\AppData\Local\Microsoft\WindowsApps の後に %PYENV%\shims がある。この場合は %PYENV%\shims を先にします。

2020-04-18.png

pipでインストールしたパッケージのコマンドを実行できない

pyenv rehash を実行して %PYENV%\shims を更新します。

pipenv

pip でインストールして、 pyenv rehash を行います。

cmd> pip install pipenv
cmd> pyenv rehash
cmd> pipenv --version
pipenv, version 2018.11.26

これでインストールが完了したので、pipenv install で必要なパッケージをインストールします。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
32
Help us understand the problem. What are the problem?