因此,我正在开发一个Python包,我的方法是,测试笔记本中的函数,然后将它们卸载到函数.py等等
/testpack/
__init.py__
functions.py
plotting.py
/notebooks/
plottingnotebook.ipynb
我的笔记本里有这个:
# Project package
module_path = os.path.abspath(os.path.join('../'))
if module_path not in sys.path:
sys.path.append(module_path)
import testpack as tp # Import project package
但是当我在functions.py
中添加新函数或对现有函数进行更改,然后在笔记本中重新导入时,这些函数就不可用了。你知道吗
但是,当我在笔记本中重新启动内核时,这就可以工作了。你知道吗
这是预期的行为吗?如果没有,我如何确保我所做的更改可以导入而不必重新启动内核?你知道吗
Python认为您已经导入了模块,所以它跳过了它。可以使用
importlib
中的内置函数reload
强制python重新导入模块。请注意,如果模块尚未导入,reload
将引发namererror。这样的计划应该行得通相关问题 更多 >
编程相关推荐