8
18

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 3 years have passed since last update.

windowsでのpython開発環境構築例(wsl2, vscode, pipenv)

Last updated at Posted at 2020-11-03

背景

  • windows上でpython開発環境を構築
  • プロジェクト毎に環境を分けたい
  • Anacondaを使いたくない
    • too much感がある
    • 調べ物をするときに、conda前提で書かれている例が少ない(ような気がする)

Summary

  • いろいろ試しましたが、WSL2, Ubuntu20.04, pipenv, VisualStudioCodeが使いやすいと判断
    • 試した過程は記述していません
    • 手順だけ記述します、慣れれば5分くらいで構築できます

前提

  • Windows 10 Home (2020/10ぐらい)
  • VisualStudioCode(以下、VSCODE)がインストールされていること

手順

  • WSL2の環境をセットアップする(ここが一番時間かかる)
    • ※InsiderProgramに入らなくても、いつの間にかWin10HomeでもWSL2が使えるようになっていた
    • 手順はこちらが一番参考になる
    • MicrosoftStoreからUbuntu20.04を探してインストールしておく
    • 無事にUbuntu20.04が起動できたら、更新しておく
      • $ sudo apt update
      • $ sudo apt upgrade
    • ※BIOSでCPUの仮想化がENABLEになっていないと、起動時にエラーが発生するので要注意
  • python3がデフォルトでインストールされている
  • pip3をインストール
    • sudo apt install python3-pip
  • pip3でpipenvをインストール
  • 任意のプロジェクトフォルダを作成しておく
    • 例:
      • $ mkdir ~/work/python-test
      • $ cd ~/work/python-test
  • 初期化
    • プロジェクトフォルダ直下で下記を実行
      • pipenv --python=/usr/bin/python3
        • FIXME: pipenv --python 3をやろうとするとwindowsのpythonを見に行ってしまうので明示的に指定
      • Pipfileが生成されていることを確認
  • 使いたい任意のパッケージをインストール
    • pipenv install [package]
    • Pipfile.lockファイルが生成されていることを確認
  • VSCODEの拡張機能をインストール
    • 「Remote - WSL」
  • VSCODEとWSLの接続
    • いろいろやり方がある。
      • 方法1:VSCODEの左下のバーから接続して、VSCODEにてUbuntu上のフォルダを開く
      • 方法2:Ubuntu上で$ codeしてから、VSCODEにてUbuntu上のフォルダを開く
      • 方法3:Ubuntu上でプロジェクトフォルダ内に移動して$ code .
      • ※初回のcodeコマンド実行時にVSCODEのサーバープログラムが自動でインストールされる
  • VSCODE内でpython開発用の拡張機能をインストール
    • 最低限「ms-python.python」だけあればよい
    • ※拡張機能自体は接続先毎にインストールが必要になるので要注意
  • プロジェクトフォルダ内に適当なpythonファイルを作成して開発スタート(**.py)
  • 左下のpython interpereterで、([directory name]: pipenv)のものを選ぶ(初回は大体pipenvになっていない)
    - image.png
    image.png
  • 以上で実行、デバッグ可能となる!
    • 実行方法、デバッグ方法の説明は割愛

おまけ

  • バージョン管理
    • PipfileとPipfile.lockは両方ともバージョン管理すること
    • gitなどで、別の環境で開発を開始する場合は、両ファイルが置いてあるフォルダで、$ pipenv installすれば自動的に依存モジュールがインストールされて開発環境が作られる
  • 仮想環境を削除する場合
    • $ pipenv --rm
  • インストールされるモジュールの場所
    • デフォルト
      • ~/.local/share/virtualenvs/[フォルダ名]-[ランダム文字列]
    • プロジェクトフォルダ配下に置きたい場合
      • $ export PIPENV_VENV_IN_PROJECT=true
      • プロジェクトフォルダ配下で初期化
      • プロジェクトフォルダ配下に.venvフォルダができて、その中に設置されるようになる
8
18
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
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?