python - 点击在 jupyter 中不起作用

标签 python python-click

刚刚发现以下内容。通过笔记本运行

import 
.echo("test")

输出:

/home/user/anaconda3/envs/p36/lib/python3.6/site-packages//utils.py in echo(message, file, nl, err, color)
    257 
    258     if message:
--> 259         file.write(message)
    260     file.flush()
    261 

UnsupportedOperation: not writable

有人以前见过这个并知道如何解决吗?我必须通过使用 .所以不可能。

更新: 对 click 的 jupyter 分支的提交解决了该问题: https://github.com/elgalu/click/commit/1cb7aaba8c9dd6ec760d3e7e414d0b4e5f788543#diff-d17772ee4f65879b69a53dbc4b3d42bd

最佳答案

我认为 Jupyter 劫持并锁定了 STDOUT/STDERR (至少是一次 click 尝试使用的),如果您不这样做不向 click.echo() 提供流,它将尝试写入 STDOUT/STDERR,因此会出现错误。

您可以通过自己传递像 STDOUT 这样的输出流来解决这个问题:

import click
import sys

click.echo("test", sys.stdout)
# test

关于python - 点击在 jupyter 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47773001/

相关文章:

python - 在c++中嵌入python时导入tensorflow返回null

python - 如何防止 Excel 从时间戳中删除秒?

python - 基于两列作为索引创建新变量,一列作为新变量名称 python pandas 或 R

python - 单击命令行界面 : Make options required if other optional option is unset

python - 如何在单击(python 包)中为一个选项创建短选项和长选项?

python - 可以用uwsgi协议(protocol)调用http吗?

python - 访问在 vm 上运行的 jupyter notebook

python - 使用 Click 制作简洁、可安装的 Python 库

python - 是否可以使用 intellij 使用 python-click 进行调试?

python - 如何处理子组帮助消息