gpt4 book ai didi

python - 在不重新启动交互式 session 的情况下使用新安装的模块

转载 作者:太空狗 更新时间:2023-10-29 17:50:48 27 4
gpt4 key购买 nike

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

安装新模块后,该模块可在新的交互式 session 中导入,但不能在安装前运行的 session 中导入。由于我正在使用内存中的所有变量,我不想重新启动 session ...

我怎样才能得到这样一个以前运行的 session 来导入新模块?

最佳答案

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

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

或者你可以这样做:

# Python3.3+
import importlib.machinery
loader = importlib.machinery.SourceFileLoader("namespace", '/path/scriptname.py') #including .py
handle = loader.load_module("namespace")
handle.func()

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


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

# Python2
reload(handle)


# Python3
import imp
imp.reload(handle)

关于python - 在不重新启动交互式 session 的情况下使用新安装的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23865882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com