当运行某个python工程,没有install文件,需要通过运行来完善安装模块时,可以用这个程序来自动完成
import subprocess
import sys
import importlib
# 安装缺少的模块
def install_module(module):
subprocess.check_call([sys.executable, "-m", "pip", "install", module])
# 运行程序并捕获模块错误
def run_program():
try:
# 在此处运行您的程序,比如:
import my_program
my_program.run()
except ImportError as e:
# 捕获到模块错误,获取模块名称
module = str(e).split()[-1]
# 安装模块并重新加载
install_module(module)
importlib.invalidate_caches()
# 重新运行程序
run_program()
# 运行程序
run_program()