BGr*_*een 5 python import jupyter-notebook jupyter-lab
在文件中mylibrary.py我有这个功能
def myfunc(a,b):
return a+b
Run Code Online (Sandbox Code Playgroud)
在 Jupyter 笔记本中我运行
import mylibrary
mylibrary.myfunc(1,2)
Run Code Online (Sandbox Code Playgroud)
并且输出3符合预期。
但是,当我更新文件mylibrary.py以使其内容为
def myfunc(a):
return a+1
Run Code Online (Sandbox Code Playgroud)
并在 Jupyter 中运行
import mylibrary
mylibrary.myfunc(1,2)
Run Code Online (Sandbox Code Playgroud)
输出是一个错误:
TypeError: myfunc() missing 1 required positional argument: 'b'
Run Code Online (Sandbox Code Playgroud)
显然 Jupyter 仍在使用旧版本的mylibrary.py. mylibrary.py如果我在尝试导入缓存后删除为其创建的缓存,该错误仍然存在。
为什么会发生这种情况,我该如何纠正?(一个明显的解决方法是在 Jupyter 笔记本中定义myfunc,而不是将其分开,现在我会这样做。但是,这解决了问题而不是实际修复它,所以我仍然不明白出了什么问题,并且结果我以后可能会陷入陷阱。因此,我认为找出问题所在是值得的。)
| 归档时间: |
|
| 查看次数: |
1355 次 |
| 最近记录: |