IOStream.flush 超时:这是什么意思?

问题描述 投票:0回答:2

当我运行一些代码时,我在控制台中收到以下消息。

代码仍在运行,所以我不确定这是否是一个错误。

过了一会儿,代码停止运行,似乎我得到了我想要的输出,但现在我很难理解它是否给出了任何问题。

有什么想法吗?

我知道它与记忆有关,但我找不到它的定义。

In [4]: daily_transactions, transactions = strategy_transactions(price = price_data, 
                                                         timeframe = 'W-SUN',
                                                         f_strategy = MACD_XOVER)

Output from spyder call 'get_namespace_view':
IOStream.flush timed out
IOStream.flush timed out
IOStream.flush timed out

python macos spyder flush
2个回答
2
投票

嗨,这个错误来自 IPython

来自 IPython 内核选项

设置输出缓存的大小。默认值为 1000,您可以在配置文件中永久更改它。将其设置为 0 会完全禁用缓存系统,接受的最小值为 20 *(如果您提供的值小于 20,则会重置为 0 并发出警告)。定义此限制是因为否则您将花费更多时间重新刷新太小的缓存而不是工作

或者,来自daniel-fry对 iPython 内核问题的评论

我在解决该问题的迭代中休眠了 1 秒

干得好


1
投票
我不知道问题是什么,但我设法通过预先保存重要数据并循环重置内核来解决它。

基本上,每次循环中任意 N 次迭代之后,我都会保存重要且相关的数据,重置内核,导入所需的库,然后加载相关数据。

我知道这不是解决问题的最佳方法,但我为我做到了这一点。

通过jupyter笔记本在python上重置代码是:

%reset -f
    
© www.soinside.com 2019 - 2024. All rights reserved.