【问题标题】:Colab: Import updated version of Python file that is written onto diskColab:导入写入磁盘的 Python 文件的更新版本
【发布时间】:2020-06-17 17:01:58
【问题描述】:

我有一个将类写入文件的单元格

%%writefile example_class.py

class Example(object):
    def __init__(self):
        ...implementation...

现在,我可以在另一个单元格中导入该类,如下所示:

from .example_class import Example
example = Example()
...using example...

到目前为止一切正常。但是,当我之后执行以下操作时:

  1. 更新示例类(第一个单元格)并执行单元格(覆盖)
  2. 执行加载示例类的第二个单元格

当我执行第二个单元格时,在 1. 中所做的更改无效。第二个单元仍然使用示例类的第一个版本(没有更新)。有没有办法强制第二个单元格导入最新版本的 Example 类?

让事情正常运行的一种方法是重新启动环境 - 但我想避免这种情况,因为这非常耗时(在此之前我有很多单元要执行)。

另外,我真的需要将第一个单元格中的 python 源代码写入磁盘。因此,只有一个没有%%writefile example_class.py 的普通单元格对我来说不是一个选择。

【问题讨论】:

    标签: google-colaboratory


    【解决方案1】:

    我在以下位置找到了解决方案:

    Detect if a python module changes and then reload

    解决方法是在开头执行以下单元格:

    %load_ext autoreload
    %autoreload 2
    

    【讨论】:

      猜你喜欢
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      相关资源
      最近更新 更多