【发布时间】:2017-11-09 20:52:26
【问题描述】:
我正在寻找一种可靠的方法来确定我的模块是否正在从 Jupyter 笔记本中加载/运行,或者更具体地说,是否可以使用 ipywidgets。
这不是其他问题的重复:我发现的所有其他问题要么没有可靠的解决方案,要么(更常见)他们使用 Python 中常见的“只是尝试并缓慢失败”的方法。就我而言,我正在尝试编写以下逻辑:
if in_jupyter():
from tqdm import tqdm_notebook as tqdm
else:
from tqdm import tqdm
我认为“尝试失败”在这里不是一个合适的解决方案,因为我还不想产生任何输出。
到目前为止,我找到的最接近解决方案的是:
from IPython import get_ipython
get_ipython().config['IPKernelApp']['parent_appname'] == 'ipython-notebook'
但是这个配置属性是一些看似空的traitlets.config.loader.LazyConfigValue(.get_value(None)只是一个空字符串)。
【问题讨论】:
标签: python jupyter-notebook jupyter