使用新安装的模块而不重新启动交互式会话

2024-04-20 07:34:23 发布

您现在位置:Python中文网/ 问答频道 /正文

在长时间的交互会话(使用ipython)期间,我有时需要使用尚未安装的模块。在

安装新模块后,该模块在新的交互式会话中变得可导入,但在安装之前运行的会话中则不可导入。我不想重新启动会话,因为我正在处理的内存中的所有变量。。。在

如何让以前运行的会话导入新模块?在


Tags: 模块内存ipython
1条回答
网友
1楼 · 发布于 2024-04-20 07:34:23

有两种方法可以在Python中手动导入内容(取决于Python版本)。在

# Python2
import os
os.chdir('/path')
handle = __import__('scriptname') #without .py
handle.func()

或者您可以:

^{pr2}$

这在Python3的早期版本中有点不同,现在没有时间或权限安装旧版本,但我记得在尝试导入和重新加载早期版本的模块时遇到了一些问题。


为了在这些模块发生变化时重新加载它们(只为了详细说明这个答案):

# Python2
reload(handle)


# Python3
import imp
imp.reload(handle)

相关问题 更多 >