【发布时间】:2021-10-17 15:15:59
【问题描述】:
我正在使用 google colab ipython notebook 进行一些编码工作。在 book1 中,我需要调用 book2 中定义的一些函数。
Book1 和 book2 都位于同一个谷歌驱动器和同一个文件夹中。
书1:
from google.colab import drive
drive.mount('/content/drive', force_remount=True)
from kora import drive as kora_drive
kora_drive.link_nbs()
import book2 as b2
b2.function1()
书2:
def function1():
print('function1 called')
当我从 book 链接 book2 时,function1() 可以成功调用。 但是,如果我更改了 book2 中的一些代码,例如,在 book2 中添加了一个新函数
def function2():
print('function2 called')
在 book2 中进行更改后,我单击“保存”并刷新了驱动器和文件夹以及 book2 和 book1。但是,当我尝试从 book1 调用 function2 时,出现错误:
AttributeError: module 'book2' has no attribute 'function2'
我已经尝试重新安装驱动器并重新导入 book2 并且还尝试了以下两个帖子,但它们都不起作用。
https://stackoverflow.com/questions/53358250/google-colaboratory-how-to-refresh-google-drive
https://stackoverflow.com/questions/59020008/how-to-import-functions-of-a-jupyter-notebook-into-another-jupyter-notebook-in-g
谁能指出我在这里错过了什么?
谢谢
UPDTAE
在book1中,我试过了
!pip install import-ipynb
import import_ipynb
import sys
sys.path.insert(1, r'/content/drive/MyDrive/Colab Notebooks/book2.ipynb')
我也试过
sys.path.insert(1, r'/content/drive/MyDrive/Colab Notebooks/')
但是,仍然无法从 book1.ipynb 中找到“book2”的最新更新。
【问题讨论】:
-
请看看我更新的答案,如果有意义,请告诉我
标签: python jupyter-notebook google-colaboratory