Windows上でのVS CodeでCodon環境を構築する方法
長い間、噂のCodonがどれだけ速いのか試してみたかったのですが、CodonがWindowsをサポートしていないため困っていました。
以下はその進展についての記録です:
Native Windows support by inumanag · Pull Request #403 · exaloop/codon (github.com)
このPRを見ると、対応が進んでいるようです(PRを新規作成しているだけかもしれませんが)。
近いうちに成果が出ることを期待しています。
ただ、公式によると、WSLを使えばWindows上で使用可能とのことです。
そこで、最強のエディターであるVS Codeを組み合わせてCodonを試せないかと思い、情報を検索しました。
しかし、ほとんど関連情報が見つからなかったため、自分で試しに設定を行い、その手順を共有します。
第1歩:WSLをインストールする
Microsoft Storeで好きなLinuxディストリビューションを検索してインストールをクリックするだけです。
ここでは、最も一般的なUbuntuを選びました。
ただし、インストール後に直接開くとエラーが発生することがあります。
エンターキーを押すとそのまま終了してしまいます。
原因はWSLのカーネルが古い可能性があります。
私のシステムはWindows 11 22H2ですが、これに関連しているかどうかは不明です。
この問題が発生した場合は、管理者権限でPowerShellを開き、以下のコマンドを実行して完了するのを待ちます:
wsl --update
その後、Ubuntuを再び開くと、正常にユーザー名とパスワードを設定できるようになります。
第2歩:Codonをインストールする
ユーザー名とパスワードを設定した後、公式のインストールコマンドをコピーして実行します:
/bin/bash -c "$(curl -fsSL https://exaloop.io/install.sh)"
インストールが完了すると、Codonのインストールパスが表示されます。
通常、現在のユーザーの.codon
フォルダ内にあります。
このパスをコピーして保存しておいてください。この後使用します。
第3歩:VS Codeを設定する
ここでは、既にVS Codeがインストールされていることを前提とします。未インストールの場合は、自分でインストールしてください。
まず、Code Runner拡張機能をインストールします。
インストール後、設定で「code-runner.executorMap」を検索します。
「setting.jsonで編集」をクリックします。
Pythonの値を以下のように変更します:
注意:/username/.codon
の部分は、先ほどコピーしたCodonのインストールパスと一致させる必要があります。
図では、私のusernameはshinpei
です。
"python": "cd $dir && wsl /home/username/.codon/bin/codon run $fileName",
保存後、右上の実行ボタンをクリックしてPythonスクリプトを実行すると、自動的にCodonが呼び出されて実行されます。
正しい出力が表示されれば、設定成功です。
既知の問題
VS Codeでは、デフォルトでプロジェクトのルートディレクトリを作業ディレクトリとしてPythonファイルを実行します。このとき、Pythonファイルの絶対パスを取得します。
しかし、WSLでLinuxコマンドを実行する場合は、Linuxのファイルパスを使用する必要があります。Code Runnerが渡すWindowsのパスは認識されません。
私が採用した方法は、Pythonファイルのディレクトリに移動してからファイル名で実行する方法です。
単一のPythonファイルをテストする場合は問題ありませんでしたが、プロジェクトファイルが多い場合や、ファイル間で相互に呼び出しがある場合には問題が発生する可能性があります。
このディレクトリ管理の問題は、通常のVS Codeでも発生します。
Codonがさらに成長し、関連する補助ツールが充実することを期待しています。