Pythonインタープリターを使用してスクリプトを実行するときにIPythonマジックを無視する最良の方法は何ですか?
IPython マジックはコードをインタラクティブに操作するため、スクリプト ファイルに IPython マジックを含めることがよくあります。たとえば、マジックを使用すると、いくつかの変更を加えてバグを修正した後、モジュールautoreload
を維持する必要はありません。reload
%load_ext autoreload
%autoreload 2
ただし、通常の Python インタープリターを使用してこのスクリプトを実行しようとすると、エラーが発生します。
File "<string>", line 1
%load_ext autoreload
^
SyntaxError: invalid syntax
ファイルが実際に実行される前に不正な構文が検出されるため、ステートメント内に IPython マジックをラップif
しても機能しません。
では、Python に IPython マジックを無視させる最善の方法は何でしょうか?
python、pdb、sphinx などで実行するたびにスクリプトを変更しなければならないのは面倒です。