以编程方式 pip 安装包,然后在不重启的情况下导入它

pip install package programmatically and then import it without restart

我正在使用可靠的 subprocess.popen()

从 运行 Python 代码安装 python 软件包
subprocess.Popen([sys.executable, '-m', 'pip', 'install', <path to package wheel>, '--upgrade'], text=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

我正在尝试使用 importlib 导入模块。此调用失败,需要重新启动服务器才能加载新安装的模块。有没有办法在线程中动态重新加载模块?

我发现了一个类似的问题,但没有引起任何回应:( Refresh pip installed packages 如果有人可以提供帮助或指导,我们将不胜感激。

find_spec 完成这项工作。如果在 sys.modules.

中找不到条目,​​它会查找包
importlib.util.find_spec(module_name, package=None)