我目前正在使用 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
将日志记录写入输出单元?
原文由 ziky90 发布,翻译遵循 CC BY-SA 4.0 许可协议
我找到了一个我的旧
python 2.7.10
virtualenv,其中jupyter
按需要工作。有些包与这里的
jupyter
问题无关,问题可能出在一些相关包的版本中。我会尝试进一步调查到底在哪里。编辑:
At the end I have found that the problem is in the package:
ipykernel==4.3.1
or sinceipykernel==4.3.0
everything works fine withipykernel==4.1.1
oripykernel==4.2.2
.在 github 上向 jupyter 和 ipykernel 报告了问题: https ://github.com/ipython/ipykernel/issues/111