※ VSCodeの.py
をJupyter形式で使っていることを前提としています。
この形式でマジックコマンドを使うと、以下のようにエラーが出てしまいます。
元々.py
ファイルはJupyter形式で扱うことは想定していないのでこのエラーは当然ですし、ブログラム実行時は問題なく動作します。
なのでこのエラーは無視して構わないのですが、エラーが出ている状態は気持ちが良くないので何とかしたいです。
あとこの状態だとフォーマッタによっては動作しないという問題も起こります。
そこで調べてみたところ、すでにこの問題への解決策がVSCode上に実装されていました。
解決策
- VSCodeの「設定」を開く
- 検索欄に「Magic Commands As Comments」と入力
- 出てきた設定にチェックを入れる
設定の説明にはこう書いてあります。
コード セルの解析時にシェル割り当て (#!)、行マジック (#!%) およびセル マジック (#!%%) のコメントを解除します。
この説明でなんとなくわかると思いますが、指定された形式のコメントをマジックコマンドとして実行時に解釈するというものです。
例えば、以下のようなコードでマジックコマンドが使えます。
# %%
# !%%time
# 上のコメントがマジックコマンドとして解釈される。
print("Hello")
こうするとマジックコマンドは実行時以外はコメントとして認識されるため、エラーが出ることはありません。