分析・開発環境構築(Windows編)

かなり時間が空いてしまった。ブログを継続するのはなんと難しいことか。 最近購入したデスクトップPCに環境構築する機会があったので、kimotonの分析・開発環境をここにまとめておきます。

WSL2のインストール

今やWindows使いの開発環境はWSL2一択です。Virtual Box経由で仮想マシンを使う時代は終わりました(まだ不安定な挙動があるのは拒めないですが…)

管理者権限でPower Shellを開いて以下のコマンドを一発たたいて再起動しましょう。

$ wsl --install

ディストリビューションを指定することもできるみたいです(デフォルトではUbuntu 20.04 LTSが入る)。

インストール可能なディストリビューションを表示

$ wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl --install -d <Distro>' を使用してインストールします。

NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS

ディストリビューションを指定してインストール

$ wsl --install -d <Distribution Name>

参考:https://docs.microsoft.com/ja-jp/windows/wsl/install

ターミナル

長いことマルチプラットフォームに対応しているHyperを使ってきたわけですが、Electron製なためか、やや動作が重かったので、正式リリースとなったタイミングでWindows Terminalに乗り換えています。

Windows Terminalについて

インストールはMicrosoft Storeから。

見た目の設定

Ctrl + ,から開ける「設定」、もしくはC:\Users\owner\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState以下に保存されているsetting.jsonをいじることで、諸々の設定を変更することができます。

まずはカラースキーマを変えましょう。個人的にちょっと薄目が好きなのでOne Half Darkにします。
参考:https://docs.microsoft.com/ja-jp/windows/terminal/customize-settings/color-schemes#included-color-schemes

次にtransparentを設定してスケスケにします。公式ドキュメントによると、"useAcrylic": falsetransparentはWindows11でのみ使用可能です。

こんな感じでスケスケターミナルが使えます

起動時ディレクトリの変更

WSLの起動時ディレクトリはWSL側のホームディレクトリのほうが何かと便利。

            {
                "colorScheme": "Campbell",
                "commandline": "wsl.exe -d Ubuntu",
                "guid": "{c0a7939e-6455-4394-9958-f2f923b093f1}",
                "icon": "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png",
                "name": "Ubuntu",
                "startingDirectory": "/home/kimoton"
            }

startingDirectoryをホームディレクトリに変えてあげます。

フォント

後続のfishテーマでPowerline記号とNerd Fontが必要になるため、対応したフォントをインストールします。今回は、大変美しく可読性の高い等幅フォント、白源 を使わせていただきます。

github.com

インストールはこちらから。

シェル

補完が優秀かつラグも少ないため、fishが好きです。

fish is a smart and user-friendly command line
shell for Linux, macOS, and the rest of the family.

fishはスマートでユーザーフレンドリーなコマンドラインシェルらしいです。

fishに関するパッケージマネージャとしてoh-my-fishを、機能拡張のためpecozbobthefishを入れます。この辺は好みで選定しましょう。

$ curl -L https://get.oh-my.fish | fish
$ omf install peco
$ omf install z
$ omf install bobthefish

Dockerのインストール

昨今のシステム開発において、Dockerはもはや必須となってきています。
ちょっと前まで、Windows上でDockerコンテナを動作させるにはHyper-Vを無効化してVirtualBoxの仮想化ソフトウェアを使用するみたいなことが必要だったのですが、MSとDocker社の提携、WSL2の登場により随分と楽になりました(Docker on Windowsの遍歴についてはこちらが詳しそう)。

以下から、Docker Desktopをインストールして、起動するだけです。
Developers - Docker

なぜかインストールしても起動できない(dockerアイコンが出てこない)事象に苛まれましたが、どうやらWSLのバグのようです。Power Shellから再起動してあげると慌てて立ち上がってくれます。
参考:[SOLVED] Docker Failed to Start - Docker Desktop for Windows - Docker Desktop for Windows - Docker Community Forums

統合開発環境

私基本ターミナルで作業するのだけれど、特にファイルを行ったり来たりするフロントエンドの開発なんかではVSCodeを使います。

以下からよしなにインストールしましょう。
Visual Studio Code – コード エディター | Microsoft Azure

VSCodeからWSL環境をいじる

WSL環境の操作にVSCodeを使うには、Remote - WSLを入れる必要があります。

細かい説明はこちらの記事を参考にしてください。

注意点として、VSCodeの拡張機能は、各WSLディストリビューションに個別にインストールする必要があります。

Python環境

minicondaのインストール

もう1年前の話ですが、Anacondaが「大規模な」商用利用では有償になりました。

個人で使う分にはAnacondaを入れても問題ないようですが、シンプルにサイズがでかいのでMinicondaを使っています。
こちらも以下からよしなにインストールしてください。
Miniconda — Conda documentation

自動整形ツール(black)

以前の記事でPythonの自動整形ツールを比較しました。

今やPythonの自動整形ツールとしては、blackが一般的になってきていると感じます。blackにはvimのpluginが存在するので、Python使い&Vimmerの皆さんはぜひ入れておきましょう。(https://black.readthedocs.io/en/stable/integrations/editors.html#vim

vim-plugでインストールする場合、~/.vimrcに以下を追加して:PlugInstallしましょう。

call plug#begin()
" Python black lint
Plug 'psf/black', { 'branch': 'main' }
call plug#end()

さらに以下を追加してあげると、ファイル保存の度にBlackを実行することができます。

autocmd BufWritePre *.py execute ':Black'