繁体   English   中英

恢复在交互式 session 中意外覆盖的“numpy.random.seed”

[英]Restore `numpy.random.seed` accidentally overwritten in interactive session

我正处于一个相当复杂的交互式 python session 中间,我有很多 state 我不想重新生成。 (通常我不会那样做——这很愚蠢——但有时……)

Instead of numpy.random.seed(42) I typed by accident numpy.random.seed = 42 thus making the numpy.random.seed() function unreachable.

我希望import numpy可以修复它,但它没有。

我很想知道是否有一种通用的方法可以从这种愚蠢的错误中恢复过来? 甚至是一个特定的?

首先你需要加载importlib库,然后告诉它重新加载numpy.random

import importlib
importlib.reload(numpy.random)

请注意,仅重新加载numpy本身是不够的,因为这只会在random上进行普通import ,并且发现它已经存在不会有任何区别。

但你是对的——你应该尽量避免使用复杂的 state 陷入这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM