AtCoder の Python 開発環境についてちょっと調べてみました。
下記が有名なのでしょうか。前者は pip でインストール可能、後者は npm でインストールが可能、ということで、Python3 と Node.js 環境が必要になります。
そうなると、「Docker で用意するのがいいかなぁ」ということになるわけですが、すでにあるようです。
軽く調べただけで、下記のような記事が見つかりました。
- 【AtCoder】VScodeで環境構築 in Mac – RONの技術ブログ
- VS CodeでPython 3の競プロコードをデバッグ実行 – minus9d's diary
- Docker+VSCodeでAtCoder用の開発環境を簡単に作る(Python編) – Qiita
- Python と VSCode で競プロ – 標準入力の簡易化とサンプルケース判定の自動化 – – Qiita
Windows だと WSL と組み合わせる方法が多いようですね。macOS だと brew で Python3 と Node.js の環境が簡単に用意できる感じですかね(あまり詳しくないのですが、vagrant を使う方法もありそう)。自分はやっぱり Docker が楽だろうと考えてしまうので、Docker 環境を構築したくなるわけですが、そうなると Linux が簡単なんですよね…。悩ましい…
Windows で Docker Desktop を使うとなると、Win Pro、Hyper-V の環境で構築したくなるわけで、そうするとハードウェアの費用が高くなるのですよね…
M1 チップ の macOS マシンで Docker Desktop を使うとなると、安定性と速度面とで不安があったり(あれ、もう動きますよね?)。まぁ、Intel チップの macOS マシンなら Docker Desktop も安定して動作しそうだけど、古い機種になるからパワーがなぁ… という感じ。
いずれにせよ、結局どちらも Linux がバックエンドに必要になるわけで、それなら Raspberry Pi 4B or 400 で Ubuntu 20.04 64bit を稼働させて、Windows か macOS の VS Code + Remote Development Extension から接続して使うのが楽なんじゃないのかなぁ、とも思うわけですね。
もしくは、Intel 系のデスクトップPCに Ubuntu Desktop をインストールして、Chrome の Remote Desktop を使って遠隔から接続して使えるようにするというのでも良い気もします。そうすれば Windows マシンであっても macOS マシンであっても、非力なものでもネットワーク接続環境があれば問題なく使えるはず。
なんてことを考えていると、環境構築方法について悩むことに時間を費やしてしまって、肝心の AtCoder の問題を解く時間が確保できなくなってしまうので、難しいところです。
うーん…