2017-02-24
■Jupyter Notebookで実行されているのかチェックしたい
理由はtqdmのimport。いろいろと試したが難しかった。
こんな風にしてみた。
try:
# noinspection PyUnresolvedReferences
if get_ipython().__class__.__name__ == 'ZMQInteractiveShell':
from tqdm import tnrange as trange
from tqdm import tqdm_notebook as tqdm
else:
raise RuntimeError
except (NameError, RuntimeError):
from tqdm import trange
from tqdm import tqdm
WebのNotebookではJavaScript利用のウィジェット、それ以外ではコンソール。
あるいは、
try:
# noinspection PyUnresolvedReferences
if get_ipython().__class__.__name__ == 'ZMQInteractiveShell':
from tqdm import tnrange as trange
from tqdm import tqdm_notebook as tqdm
else:
from tqdm import trange
from tqdm import tqdm
except (NameError, RuntimeError):
trange = range
tqdm = lambda x: x
として、ipython hoge.pyの時だけプログレスバーありにしたり。(Atom の Atom Runner みたいな、tqdm が効かない場合にオミットできる)
noinspection は PyCharm用の警告抑止。
QtConsoleは誤認識するので使わないでね。
