8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pyenv+Poetry+VS Codeを使って、Windowsで複数Pythonの開発環境を構築

Last updated at Posted at 2022-06-28

はじめに

Windows環境で、同時に複数Djangoアプリを異なるPythonバージョンで開発する必要がありました。
Pyenv+Poetry+VS Codeを使って複数Django開発環境を構築した際の手順を共有します。

Pyenvとは

Poetryとは

  • 複数パッケージを管理するためのツール
    • パッケージ管理に必要なコマンド一式を備えていて、パッケージのビルドや公開を簡単に行える
  • Poetryのリポジトリ

VS Code(Visual Studio Code)とは

  • ソースコードエディタで以下の機能を提供
    • デバッグ、埋め込みGitコントロール、シンタックスハイライト
    • インテリジェントなコード補完 、スニペット、コードリファクタリング

環境構築手順

前提

  • 手順では、作業ディレクトリとしてC:\workを使用します
  • コマンドは、VS CodeのPowerShellターミナルで実行します

Pythonをインストール

  • Pythonインストーラ

    • 必要なPythonバージョンをダウンロード
  • インストール手順

    • インストーラを起動し、画面下部のAdd Python 3.9 to PATHにチェックを入れる
    • Install Nowをクリック
    • 最後のステップで、MAX_PATHの制限を除去をクリックし実施
  • Pythonバージョン確認

PS C:\work> python -V
Python 3.9.6

Pyenvをインストール

PS C:\work> Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
  • 環境変数PYENV,PYENV_HOMEPYENV_ROOTを追加
PS C:\work> [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
PS C:\work> [System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
PS C:\work> [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
  • ユーザーのPATH環境変数にpyenvのパスを追加
PS C:\work> [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
  • pyenvのバージョン確認
PS C:\work> pyenv --version
pyenv 3.0
  • VS Code PowerShellを閉じる

プロジェクトのローカルPythonバージョンをインストール

  • VS Code PowerShellを開き、プロジェクトディレクトリに移動
PS C:\work> cd project
  • PyenvがPythonバージョンをサポートしているか確認
PS C:\work\project> pyenv install -l | findstr 3.9.6
3.9.6-win32
3.9.6
  • Pythonをインストール
PS C:\work\project> pyenv install 3.9.6
  • Pythonのローカルバージョンを指定
PS C:\work\project> pyenv local 3.9.6
  • Pyenvで指定されたPythonバージョンを確認
    • Pythonバージョンが二つ存在、指定されたのは3.9.6
PS C:\work\project> pyenv versions
  3.10.5
* 3.9.6 (set by C:\work\project\.python-version)
  • projectディレクトリで使用されるPythonのバージョン確認
PS C:\work\project> python -V 
Python 3.9.6

Poetryをインストール

PS C:\work\project> (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python
  • PowerShellを再起動し、Poetryバージョン確認
PS C:\work\project> poetry --version
Poetry version 1.1.13
  • プロジェクトの依存関係を統括するpyproject.tomlを作成
PS C:\work\project> poetry init -n
  • poetry.lockに記載されたパッケージをインストール
PS C:\work\project> poetry install
  • 仮想環境のShell起動
PS C:\work\project> poetry shell
... ...
C:\work\project> python -V
Python 3.9.6

Djangoをインストール

  • Poetry仮想環境にDjangoをインストール
C:\work\project> poetry add django
  • Djangoのバージョン確認
C:\work\project> poetry show django
name         : django
version      : 4.0.5
description  : A high-level Python web framework that encourages rapid development and clean,       
            pragmatic design.

dependencies
 - asgiref >=3.4.1,<4
 - sqlparse >=0.2.2
 - tzdata *

おわりに

Windowsで、複数Pythonバージョンで開発可能な環境構築手順でした。
ご参考になればうれしいです。

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?