Prechádzať zdrojové kódy

Revert most launch.py changes, add mac user script

Adds an addition file to read environment variables from when the webui.sh is run from macOS.
brkirch 2 rokov pred
rodič
commit
5ec8981df4
3 zmenil súbory, kde vykonal 22 pridanie a 18 odobranie
  1. 1 18
      launch.py
  2. 13 0
      webui-macos-env.sh
  3. 8 0
      webui.sh

+ 1 - 18
launch.py

@@ -194,20 +194,6 @@ def prepare_enviroment():
     xformers = '--xformers' in sys.argv
     ngrok = '--ngrok' in sys.argv
 
-    if platform.system() == 'Darwin':
-        os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
-        torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.12.1 torchvision==0.13.1")
-        k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://github.com/brkirch/k-diffusion.git')
-        k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "51c9778f269cedb55a4d88c79c0246d35bdadb71")
-        if os.environ.get('COMMANDLINE_ARGS') == None:
-            if '--use-cpu' in sys.argv:
-                idx = sys.argv.index('--use-cpu')
-                if idx < len(sys.argv) and sys.argv[idx+1][0] != '-':
-                    sys.argv.insert(idx+1, 'interrogate')
-            else:
-                sys.argv += ['--use-cpu', 'interrogate']
-            sys.argv.append('--no-half')
-
     try:
         commit = run(f"{git} rev-parse HEAD").strip()
     except Exception:
@@ -219,7 +205,7 @@ def prepare_enviroment():
     if not is_installed("torch") or not is_installed("torchvision"):
         run(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch")
 
-    if not skip_torch_cuda_test and platform.system() != 'Darwin':
+    if not skip_torch_cuda_test:
         run_python("import torch; assert torch.cuda.is_available(), 'Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check'")
 
     if not is_installed("gfpgan"):
@@ -246,9 +232,6 @@ def prepare_enviroment():
     if not is_installed("pyngrok") and ngrok:
         run_pip("install pyngrok", "ngrok")
 
-    if platform.system() == 'Darwin' and not is_installed("psutil"):
-        run_pip("install psutil", "psutil")
-
     os.makedirs(dir_repos, exist_ok=True)
 
     git_clone(stable_diffusion_repo, repo_dir('stable-diffusion-stability-ai'), "Stable Diffusion", stable_diffusion_commit_hash)

+ 13 - 0
webui-macos-env.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+####################################################################
+#                          macOS defaults                          #
+# Please modify webui-user.sh to change these instead of this file #
+####################################################################
+
+export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu interrogate"
+export TORCH_COMMAND="pip install torch==1.12.1 torchvision==0.13.1"
+export K_DIFFUSION_REPO="https://github.com/brkirch/k-diffusion.git"
+export K_DIFFUSION_COMMIT_HASH="51c9778f269cedb55a4d88c79c0246d35bdadb71"
+export PYTORCH_ENABLE_MPS_FALLBACK=1
+
+####################################################################

+ 8 - 0
webui.sh

@@ -4,6 +4,14 @@
 # change the variables in webui-user.sh instead #
 #################################################
 
+# If run from macOS, load defaults from webui-macos-env.sh
+if [[ "$OSTYPE" == "darwin"* ]]; then
+    if [[ -f webui-macos-env.sh ]]
+        then
+        source ./webui-macos-env.sh
+    fi
+fi
+
 # Read variables from webui-user.sh
 # shellcheck source=/dev/null
 if [[ -f webui-user.sh ]]