VSCodeのquarto renderで仮想環境(venv)のpythonを利用する

公開日:
目次

VSCodeのquartoプラグインを使用している際に、仮想環境(venv)がコマンドパレットからのrender時にうまく機能しない問題に直面しました。この問題を解決した過程を備忘録として残します。

仮想環境のディレクトリ名を変更する

最初に試したのは、仮想環境のディレクトリ名をenvに変更する方法です。VSCodeからquartoのコマンドを実行する際に、envという名前のディレクトリを自動的に認識してくれるという情報がありました。

残念ながら、この方法を試しても問題は解決しませんでした。

VSCodeのsettings.jsonを修正する

次に、VSCodeのsettings.jsonを修正する方法を試しました。この解決策を見つけたのは以下の記事です。

Workspaceの設定ファイルにパラメータを追加することで、問題が解消されるようです。

コマンドパレットからworkspace jsonと検索し、表示されたワークスペース用の設定ファイルを開いてください。

以下のコードを追加します。ディレクトリ名が.venvでない場合は、適宜変更してください。また、MacやLinuxの場合は、仮想環境のPython実行ファイルがbinディレクトリ内にあるため、パスを適宜変更してください。

{
    "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe",
}

仮想環境を追加する際に常に.venv等のディレクトリ名で作成する場合は、ユーザの設定ファイルにもパラメータを追加しておくと便利です。コマンドパレットからuser jsonと検索し、表示されたユーザ用の設定ファイルを開いて同じコードを追加します。

なお、実行するディレクトリ名が日本語だと文字化けしてエラーが生じることがあります。ディレクトリ名を英語に変更すると問題なく実行できました。settings.jsonworkspaceFolderが日本語名の場合の対処法はまだ確認していませんが、基本的にディレクトリ名やファイル名は英語にした方が良さそうです。

ターミナルからquartoをコマンドラインで実行する

VSCodeのプラグインを通じた実行が難しい場合は、ターミナルから直接quartoをコマンドラインで実行する方法もあります。

まずは仮想環境をactivateしてください。

  • Windows(powershell)の場合: