""" Check that the invokeai_root is correctly configured and exit if not. """ import sys from invokeai.app.services.config import ( InvokeAIAppConfig, ) def check_invokeai_root(config: InvokeAIAppConfig): try: assert config.model_conf_path.exists(), f'{config.model_conf_path} not found' assert config.db_path.parent.exists(), f'{config.db_path.parent} not found' assert config.models_path.exists(), f'{config.models_path} not found' for model in [ 'CLIP-ViT-bigG-14-laion2B-39B-b160k', 'bert-base-uncased', 'clip-vit-large-patch14', 'sd-vae-ft-mse', 'stable-diffusion-2-clip', 'stable-diffusion-safety-checker']: path = config.models_path / f'core/convert/{model}' assert path.exists(), f'{path} is missing' except Exception as e: print() print(f'An exception has occurred: {str(e)}') print('== STARTUP ABORTED ==') print('** One or more necessary files is missing from your InvokeAI root directory **') print('** Please rerun the configuration script to fix this problem. **') print('** From the launcher, selection option [7]. **') print('** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **') input('Press any key to continue...') sys.exit(0)