Я пытаюсь импортировать модуль, если импорт не удался, установите модуль, который не удался, и повторите попытку. У меня есть рабочее решение, но оно не идеально.
У меня есть модули, хранящиеся в виде кортежа, и я хочу иметь возможность добавить их в список модулей позже без добавления try:
и except ImportError:
для каждого.
Я пытаюсь импортировать каждый объект или модуль в pd
и, если он не удается установить модуль, сохраняя код коротким.
pd = "opencv-python", "matplotlib", "numpy", "pygame"
for module in pd:
try:
import module
except ImportError:
subprocess.check_call([sys.executable, "-m", "pip", "install", module])
Один метод, который я попробовал:
try:
import cv2
print("Successfully Imported " + pd[0])
except ImportError:
print("Installing Module " + pd[0])
subprocess.check_call([sys.executable, "-m", "pip", "install", 'pd[0]'])
Делать код длиннее и длиннее с каждым добавленным модулем.