IPython の起動時に特定の処理を走らせる際の例外処理

少し前にこのようなエントリーを書きました。
[IPython] PuDB を IPython のマジックコマンドで使う | aoshiman.org

IPython の起動時に特定の処理を走らせる(上記エントリーでは、import pudb.ipython)には、ipython_config.py の c.InteractiveShellApp.exec_lines に処理を書いていくのですが、その処理がimport文の場合、そのPython環境にimportするモジュールがなければ、当然ImportErrorが発生します((注)importがコケるだけでIPythonそのものは正常に起動します)。

PuDBが不要であったり、IPython環境によっては特定の処理を走らせる必要ない場合もあるので、その場合は

# lines of code to run at IPython startup.
c.InteractiveShellApp.exec_lines = [
"try:import pudb.ipython\nexcept ImportError:pass"
]
のようにtry文を含める形でワンライナーライクに記述すれば、importエラーはpassされるのでエラー表示でドキッとすることもなくなります。
なんか無理矢理っぽい回避策ですが、これでうまくいっているので良しとします。


  • このエントリーをはてなブックマークに追加
PAGE TOP