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は誤認識するので使わないでね。