WindowsでPython開発環境をつくる
Windows10/11でシンプルなPythonの開発環境を作成します。
PythonインタプリタはWindows用のものもありますが、ここではWSLでPythonインタプリタを実行する方法をまとめます。
1. WSLをインストール
WSLはWindowsの拡張機能で、Windows上でUbuntu、DebianなどのLinuxディストリビューションを利用することができます。
https://learn.microsoft.com/ja-jp/windows/wsl/install
Bashが使えるだけでも生産性が格段に上がりますので、WindowsをインストールしたらWSLもインストールしておくのがおすすめです。
1.1. WSL有効化
コントロールパネルを開き、
プログラム > プログラムと機能 > Windowsの機能の有効化または無効化
より「Linux用Windowsサブシステム」を有効化
1.2. Debianインストール
コマンドプロンプトを管理者権限で開き、
- 利用できるDistributionを確認
C:\Windows\System32>wsl -l --online インストールできる有効なディストリビューションの一覧を次に示します。 'wsl.exe --install <Distro>' を使用してインストールします。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS ...snip...
- 対象のDistributionをインストール
C:\Windows\System32>wsl --install -d Debian インストール中: Debian GNU/Linux [========================64.0%====== ]
- Linuxのターミナルが開くので指示に従いユーザーを作成
1.3. パッケージ更新
パッケージを最新にしておく。
$ sudo apt-get update && sudo apt-get upgrade -y
1.4. (Optional) Windowsフォルダをリンクする
WSLのシェルからWindowsファイルシステムへファイルを書き込めるようにする。
- おまじない
$ sudo vi /etc/wsl.conf [automount] enabled = true root = /mnt/ options = "metadata,umask=22,fmask=11" mountFsTab = true
- シンボリックリンク
$ ln -s /mnt/c/Users/user ./user
- PCを再起動
1.5. 日本語化
$ sudo dpkg-reconfigure locales
ja_JP.UTF-8
を追加してDefault Localeに設定する。
ターミナルのFontをMSゴシックなどの日本語フォントに設定すると日本語が表示されるようになる。
1.6. (Optional) WSL2へアップグレード
WSL2が現行バージョンだが、環境によってはWSL1がインストールされてしまうことがあるので、必要に応じてWSL2へアップグレードする。
MicrosoftによるとWSL2のほうがパフォーマンスが優れているなど何かといいらしい。
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual
- バージョンの確認 (v1が入っている)
C:\Windows\system32>wsl -l -v NAME STATE VERSION * Debian Stopped 1
- WSL機能を有効化
C:\Windows\system32>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 展開イメージのサービスと管理ツール バージョン: 10.0.19041.3636 イメージのバージョン: 10.0.19045.3930 機能を有効にしています [==========================100.0%==========================] 操作は正常に完了しました。
- 仮想マシン機能を有効化(Intel VT-x や AMD-V が必要)
C:\Windows\system32>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 展開イメージのサービスと管理ツール バージョン: 10.0.19041.3636 イメージのバージョン: 10.0.19045.3930 機能を有効にしています [==========================100.0%==========================] 操作は正常に完了しました。
- WSL2へ変換
C:\Windows\system32>wsl --set-version Debian 2 変換中です。この処理には数分かかることがあります... WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください 変換が完了しました。
1.7. Pythonインストール
$ sudo apt-get install -y python3 python3-pip python3-venv
2. Github
2.1. Githubアカウント作成
https://github.com でアカウントを作成し、適当な名前でリポジトリを作成する。
リポジトリアクセスは以下のような形で指定する。
[HTTPS] https://github.com/account
/repository
.git
[SSH] git@github.com:account
/repository
.git
2.2. SSHキーを登録
-
SSHキーを作成
$ ssh-keygen
-
.ssh/id_rsa.pub
をGithubへ登録
https://github.com/settings/keys へアクセス
「New SSH Key」をクリックしてid_rsa.pub
を登録
2.3. ローカルリポジトリを作成
- gitインストール
$ sudo apt-get install git
- Globalパラメータ設定
$ git config --global user.name <user name> $ git config --global user.email <email address> $ git config --global init.defaultBranch main
- ローカルリポジトリ作成
$ mkdir -p path/to/local/repository $ cd path/to/local/repository $ git init $ git branch -M main
- リモートリポジトリと接続
$ git remote add origin git@github.com:<account>/<repository>.git $ git remote -v origin git@github.com:<account>/<repository>.git (fetch) origin git@github.com:<account>/<repository>.git (push)
- リモートリポジトリとの接続確認 (エラーにならなければOK)
$ git pull origin main $ git push origin main
2.4. 仮想環境を作成
Pythonはプロジェクトごとに仮想環境を作り、仮想環境ごとに必要なパッケージを読み込むような作りになっている。(おそらくパッケージの依存関係などのトラブルを防ぐため)
そのためpipでパッケージをロードするのも基本的には仮想環境内で実施する必要がある。
ということで開発に入る前にまず仮想環境を作成する。
- 仮想環境の作成
$ cd path/to/local/repository $ python3 -m venv .venv
- 仮想環境の有効化
$ source .venv/bin/activate (.venv)$ <--- プロンプトが変わる
2.5. (Appendix) Github how to
- Github ユーザーの設定
git config --global user.name <name> git config --global user.email <email>
- ローカルリポジトリの初期化
cd path\to\repo git init git branch -M main
- リモートリポジトリを変更
git remote set-url origin git@github.com:<account>/<repository>.git
- リポジトリを取得
git pull origin main
- 新規作成/変更をプッシュ
git add <ファイル名> git commit -m <コメント> git push origin main
- ブランチ関連
ローカルに作成 - git branch <ブランチ名> ローカルで移動 - git checkout <ブランチ名> リモートを更新 - git push origin <ブランチ名>
3. VS Code
VS CodeはMicrosoftが開発している多機能エディタです。
プログラマ向けのエクステンションが豊富なので、コードを書くのであればとりあえず何も考えずにVS Codeを使うのがいいでしょう。
3.1. VS Codeをインストール
https://code.visualstudio.com/download
3.2. WSLに接続
- WSLエクステンションをインストール
- コマンドパレット(CTRL+SHIFT+P)から
WSL: Connect to WSL
を実行
3.3. その他エクステンションをインストール
- Python
- Pylance
- (Optional) Vim
- (Optional) Markdown All in One
3.4. Workspaceを作成
gitローカルリポジトリフォルダをworkspaceに追加する。
3.5. Pythonインタプリタを設定
仮想環境のPythonインタプリタを設定する。
これによりVS Code内でTerminal(WSL)を開いたときに自動的に仮想環境が有効になる。
- コマンドパレット(CTRL+SHIFT+P)から
Python: Select Interpreter
を実行 - 仮想環境のインタープリタを選択 (.venv/bin/python) これによりVS Code内でTerminal(WSL)を開いたときに自動的に仮想環境が有効になる。