fix several issues with Windows installs

1. resize installer window to give more room for configure and download forms
2. replace '\' with '/' in directory names to allow user to drag-and-drop
   folders into the dialogue boxes that accept directories.
3. similar change in CLI for the !import_model and !convert_model commands
4. better error reporting when a model download fails due to network errors
5. put the launcher scripts into a loop so that menu reappears after
   invokeai, merge script, etc exits. User can quit with "Q".
6. do not try to download fp16 of sd-ft-mse-vae, since it doesn't exist.
7. cleaned up status reporting when installing models
This commit is contained in:
Lincoln Stein
2023-02-23 00:43:25 -05:00
parent 3083356cf0
commit 9b157b6532
10 changed files with 66 additions and 68 deletions

View File

@ -336,7 +336,8 @@ class InvokeAiInstance:
elif el in ['-y','--yes','--yes-to-all']:
new_argv.append(el)
sys.argv = new_argv
import requests # to catch download exceptions
from messages import introduction
introduction()
@ -350,16 +351,16 @@ class InvokeAiInstance:
try:
invokeai_configure.main()
succeeded = True
except ConnectionError as e:
print(f'A network error was encountered during configuration and download: {str(e)}')
except requests.exceptions.ConnectionError as e:
print(f'\nA network error was encountered during configuration and download: {str(e)}')
except OSError as e:
print(f'An OS error was encountered during configuration and download: {str(e)}')
print(f'\nAn OS error was encountered during configuration and download: {str(e)}')
except Exception as e:
print(f'A problem was encountered during the configuration and download steps: {str(e)}')
print(f'\nA problem was encountered during the configuration and download steps: {str(e)}')
finally:
if not succeeded:
print('You may be able to finish the process by launching "invoke.sh" or "invoke.bat"')
print('from within the "invokeai" directory, and choosing options 5 and/or 6.')
print('To try again, find the "invokeai" directory, run the script "invoke.sh" or "invoke.bat"')
print('and choose option 7 to fix a broken install, optionally followed by option 5 to install models.')
print('Alternatively you can relaunch the installer.')
def install_user_scripts(self):