我目前正在使用 Jupyter
笔记本,并希望强制它将 Python
日志打印到输出单元格。
我正在使用旧版笔记本,可能是在旧版本的 Jupyter
笔记本中运行。
我的日志设置如下:
import logging
logging.basicConfig(format='%(levelname)s : %(message)s', level=logging.INFO)
logging.root.level = 20
但是当我接着调用:
logging.info("hello world")
它不会在输出单元格中打印任何内容。它只会在我启动 Jupyter
笔记本的控制台中打印出东西。
我正在使用 python 2.7.10
,并且在我的虚拟环境中安装了以下软件包:
appnope==0.1.0
backports-abc==0.4
backports.ssl-match-hostname==3.5.0.1
certifi==2016.2.28
decorator==4.0.9
functools32==3.2.3.post2
gnureadline==6.3.3
ipykernel==4.3.1
ipython==4.1.2
ipython-genutils==0.1.0
ipywidgets==4.1.1
Jinja2==2.8
jsonschema==2.5.1
jupyter==1.0.0
jupyter-client==4.2.2
jupyter-console==4.1.1
jupyter-core==4.1.0
MarkupSafe==0.23
mistune==0.7.2
nbconvert==4.1.0
nbformat==4.0.1
notebook==4.1.0
path.py==8.1.2
pexpect==4.0.1
pickleshare==0.6
ptyprocess==0.5.1
Pygments==2.1.3
pyzmq==15.2.0
qtconsole==4.2.0
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.10.0
terminado==0.6
tornado==4.3
traitlets==4.1.0
wheel==0.24.0
记录单元格中的打印输出是否已更改?有没有什么方法可以强制 Jupyter
将日志写入输出单元格?
sys.stderr
是什么。应该是<ipykernel.iostream.OutStream at ....>
。 - Mike Müllersys.stderr
是<ipykernel.iostream.OutStream at 0x1079e9e10>
,看起来是正确的。 - ziky90