dasghost65536's picture
oh, and version 1.7.0 just came out like hours ago somehow too... updating it to 1.7.0
6cf06c6
raw
history blame
No virus
20.4 kB
"""
Stable Diffusion Webui Version 1.7.0
https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.7.0
"""
commit_id=r"cf2772fab0af5573da775e7437e6acdca424f26e" #Version 1.7.0
import os
from sys import executable
import subprocess
import pathlib
import gc
def Gitclone(URI:str,ClonePath:pathlib.Path ) -> int :
if pathlib.Path.exists(ClonePath):
return 0
for z in range(10):
i=subprocess.run([r"git",r"clone",str(URI),str(ClonePath)])
if(i.returncode == 0 ):
del i
return 0
else :
del i
raise Exception(str.format("clone \'{0}\' failed",URI))
def DownLoad(URI:str,DownloadPath:pathlib.Path,DownLoadFileName:str ) -> int:
if (DownloadPath / DownLoadFileName).is_file(): return 0
for z in range(10):
i=subprocess.run([r"aria2c",r"-c",r"-x" ,r"16", r"-s",r"16", r"-k" ,r"1M" ,r"-m",r"0",r"--enable-mmap=false",r"--console-log-level=error",r"-d",str(DownloadPath),r"-o",DownLoadFileName,URI]);
if(i.returncode == 0 ):
del i
gc.collect()
return 0
else :
del i
raise Exception(str.format("download \'{0}\' failed",URI))
user_home =pathlib.Path.home().resolve()
os.chdir(str(user_home))
#clone stable-diffusion-webui repo
print("cloning stable-diffusion-webui repo")
Gitclone(r"https://github.com/AUTOMATIC1111/stable-diffusion-webui.git",user_home / r"stable-diffusion-webui")
os.chdir(str(user_home / r"stable-diffusion-webui"))
os.system("git reset --hard "+commit_id)
#install extensions
print("installing extensions")
Gitclone(r"https://huggingface.co/embed/negative",user_home / r"stable-diffusion-webui" / r"embeddings" / r"negative")
Gitclone(r"https://huggingface.co/embed/lora",user_home / r"stable-diffusion-webui" / r"models" / r"Lora" / r"positive")
DownLoad(r"https://huggingface.co/embed/upscale/resolve/main/4x-UltraSharp.pth",user_home / r"stable-diffusion-webui" / r"models" / r"ESRGAN" ,r"4x-UltraSharp.pth")
while (True):
i=subprocess.run([r"wget",r"https://raw.githubusercontent.com/camenduru/stable-diffusion-webui-scripts/main/run_n_times.py",r"-O",str(user_home / r"stable-diffusion-webui" / r"scripts" / r"run_n_times.py")])
if(i.returncode == 0 ):
del i
gc.collect()
break
else :
del i
#Gitclone(r"https://github.com/deforum-art/deforum-for-automatic1111-webui",user_home / r"stable-diffusion-webui" / r"extensions" / r"deforum-for-automatic1111-webui" )
Gitclone(r"https://github.com/wcde/custom-hires-fix-for-automatic1111",user_home / r"stable-diffusion-webui" / r"extensions" / r"custom-hires-fix-for-automatic1111" )
Gitclone(r"https://github.com/Coyote-A/ultimate-upscale-for-automatic1111",user_home / r"stable-diffusion-webui" / r"extensions" / r"ultimate-upscale-for-automatic1111" )
Gitclone(r"https://github.com/AlUlkesh/stable-diffusion-webui-images-browser",user_home / r"stable-diffusion-webui" / r"extensions"/ r"stable-diffusion-webui-images-browser")
Gitclone(r"https://github.com/camenduru/stable-diffusion-webui-huggingface",user_home / r"stable-diffusion-webui" / r"extensions" / r"stable-diffusion-webui-huggingface")
# keeping this in case if someone wants to revert to this extension, I guess?
#Gitclone(r"https://github.com/camenduru/sd-civitai-browser",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-civitai-browser")
Gitclone(r"https://github.com/BlafKing/sd-civitai-browser-plus",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-civitai-browser-plus")
# keeping this in case if someone wants to actually use this extension, I guess?
#Gitclone(r"https://github.com/kohya-ss/sd-webui-additional-networks",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-additional-networks")
Gitclone(r"https://github.com/Mikubill/sd-webui-controlnet",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-controlnet")
# the following four are disabled because of issues breaking the whole thing, and since
# these extensions are beyond my control anyway, these will be all disabled for the time being
# until their respective authors fixes these issues. deal with it, folks.
#Gitclone(r"https://github.com/fkunn1326/openpose-editor",user_home / r"stable-diffusion-webui" / r"extensions" / r"openpose-editor")
#Gitclone(r"https://github.com/wywywywy/sd-webui-depth-lib",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-depth-lib")
#Gitclone(r"https://github.com/hnmr293/posex",user_home / r"stable-diffusion-webui" / r"extensions" / r"posex")
#Gitclone(r"https://github.com/nonnonstop/sd-webui-3d-open-pose-editor",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-3d-open-pose-editor")
#中文本地化的请解除下一行的注释
#Gitclone(r"https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN.git",user_home / r"stable-diffusion-webui" / r"extensions" / r"stable-diffusion-webui-localization-zh_CN")
Gitclone(r"https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git" , user_home / r"stable-diffusion-webui" / r"extensions" / r"a1111-sd-webui-tagcomplete")
Gitclone(r"https://github.com/camenduru/sd-webui-tunnels",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-tunnels")
Gitclone(r"https://github.com/etherealxx/batchlinks-webui",user_home / r"stable-diffusion-webui" / r"extensions" / r"batchlinks-webui")
#Gitclone(r"https://github.com/catppuccin/stable-diffusion-webui",user_home / r"stable-diffusion-webui" / r"extensions" / r"stable-diffusion-webui-catppuccin")
#Gitclone(r"https://github.com/Bing-su/adetailer",user_home / r"stable-diffusion-webui" / r"extensions" / r"adetailer")
Gitclone(r"https://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg",user_home / r"stable-diffusion-webui" / r"extensions" / r"stable-diffusion-webui-rembg")
Gitclone(r"https://github.com/ashen-sensored/stable-diffusion-webui-two-shot",user_home / r"stable-diffusion-webui" / r"extensions" / r"stable-diffusion-webui-two-shot")
#Gitclone(r"https://github.com/camenduru/sd_webui_stealth_pnginfo",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd_webui_stealth_pnginfo")
os.chdir(user_home / r"stable-diffusion-webui")
#download ControlNet models
print("extensions dolwnload done .\ndownloading ControlNet models")
dList =[r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11e_sd15_shuffle_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_lineart_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_scribble_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_seg_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_softedge_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11f1e_sd15_tile_fp16.safetensors",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11e_sd15_ip2p_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11e_sd15_shuffle_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_canny_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11f1p_sd15_depth_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_inpaint_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_lineart_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_mlsd_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_normalbae_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_openpose_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_scribble_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_seg_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15_softedge_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11p_sd15s2_lineart_anime_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/raw/main/control_v11f1e_sd15_tile_fp16.yaml",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_style_sd14v1.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_sketch_sd14v1.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_seg_sd14v1.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_openpose_sd14v1.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_keypose_sd14v1.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_depth_sd14v1.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_canny_sd14v1.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_canny_sd15v2.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_depth_sd15v2.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_sketch_sd15v2.pth",
r"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/t2iadapter_zoedepth_sd15v1.pth"]
for i in range(0,len(dList)): DownLoad(dList[i],user_home / r"stable-diffusion-webui" / r"extensions" / "sd-webui-controlnet" / r"models",pathlib.Path(dList[i]).name)
del dList
#download model
#you can change model download address here
print("ControlNet models download done.\ndownloading model")
#Stable Diffusion Checkpoint Model
#anything version4.5
DownLoad(r"https://huggingface.co/ckpt/anything-v4.0/resolve/main/anything-v4.5-pruned.ckpt",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"anything-v4.5-pruned.ckpt")
DownLoad(r"https://huggingface.co/ckpt/anything-v4.0/resolve/main/anything-v4.0.vae.pt",user_home / r"stable-diffusion-webui" / r"models" / r"VAE",r"anything-v4.0.vae.pt")
#anythingV5-Ink
DownLoad(r"https://civitai.com/api/download/models/90854",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"AnythingV5Ink_ink.safetensors")
#MeinaMixV11
DownLoad(r"https://civitai.com/api/download/models/119057",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"meinamix_meinaV11.safetensors")
# ==optional checkpoint models (and misc stuff)==
# by default, none of them are installed (mainly because of storage space reasons),
# unless you uncomment one of them just to actually use them.
# some of them generate 3d-like images, and may or may not actually generate
# 2d images than the least you'd most expect.
#CounterfeitV3
#DownLoad(r"https://huggingface.co/gsdf/Counterfeit-V3.0/resolve/main/Counterfeit-V3.0_fp16.safetensors",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"Counterfeit-V3.0_fp16.safetensors")
#AbyssOrangeMix2 sfw
#DownLoad(r"https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_sfw.safetensors",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"AbyssOrangeMix2_sfw.safetensors")
#DownLoad(r"https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt",user_home / r"stable-diffusion-webui" / r"models" / r"VAE",r"orangemix.vae.pt")
#DreamShaper version 8
DownLoad(r"https://civitai.com/api/download/models/128713",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"dreamshaper_8.safetensors")
#XXMix_9realistic (v4.0)
#DownLoad(r"https://civitai.com/api/download/models/102222",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"xxmix9realistic_v40.safetensors")
#MeinaPastel versions 5 and 6
#DownLoad(r"https://civitai.com/api/download/models/108289",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"meinapastel_v6Pastel.safetensors")
#DownLoad(r"https://huggingface.co/Meina/MeinaPastel/resolve/main/MeinaPastelV5%20-%20Baked%20VAE.safetensors",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"MeinaPastelV5_BakedVAE.safetensors")
#DownLoad(r"https://huggingface.co/Meina/MeinaPastel/resolve/main/MeinaPastelV5%20-%20Without%20VAE.safetensors",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"MeinaPastelV5_WithoutVAE.safetensors")
#tb_zANIME+mix
#DownLoad(r"https://civitai.com/api/download/models/197115",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"tbZanimeMix_v10.safetensors")
#MMT5
#DownLoad(r"https://civitai.com/api/download/models/160277",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"mmt5_v3.safetensors")
#AingDiffusion
#DownLoad(r"https://civitai.com/api/download/models/249329",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"aingdiffusion_v13.safetensors")
#Sweet-mix version2.2(flat) (with blessed2 VAE included)
#DownLoad(r"https://civitai.com/api/download/models/158294",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"sweetMix_v22Flat.safetensors")
#DownLoad(r"https://civitai.com/api/download/models/121302",user_home / r"stable-diffusion-webui" / r"models" / r"VAE",r"blessed2_v1.pt")
#AnyLoRA
DownLoad(r"https://civitai.com/api/download/models/95489",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"anyloraCheckpoint_bakedvaeBlessedFp16.safetensors")
#Sevan Mix
#DownLoad(r"https://civitai.com/api/download/models/226816",user_home / r"stable-diffusion-webui" / r"models" / r"Stable-diffusion",r"sevanMix_v10.safetensors")
#MasterVae
#DownLoad(r"https://civitai.com/api/download/models/141727",user_home / r"stable-diffusion-webui" / r"models" / r"VAE",r"mastervae_v1Pt.pt")
#Lora Model
#Better Light
#DownLoad(r"https://civitai.com/api/download/models/39885",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-additional-networks" / r"models"/ r"lora",r"Better_light.safetensors")
DownLoad(r"https://civitai.com/api/download/models/39885",user_home / r"stable-diffusion-webui" / r"models" / r"Lora",r"Better_light.safetensors")
#Detail Tweaker LoRA
#DownLoad(r"https://civitai.com/api/download/models/62833",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-additional-networks" / r"models"/ r"lora",r"add_detail.safetensors")
DownLoad(r"https://civitai.com/api/download/models/62833",user_home / r"stable-diffusion-webui" / r"models" / r"Lora",r"add_detail.safetensors")
#Add More Details - Detail Enhancer / Tweaker
#DownLoad(r"https://civitai.com/api/download/models/87153",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-additional-networks" / r"models"/ r"lora",r"more_details.safetensors")
DownLoad(r"https://civitai.com/api/download/models/87153",user_home / r"stable-diffusion-webui" / r"models" / r"Lora",r"more_details.safetensors")
#Backlighting
#DownLoad(r"https://civitai.com/api/download/models/39164",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-additional-networks" / r"models"/ r"lora",r"backlighting.safetensors")
DownLoad(r"https://civitai.com/api/download/models/39164",user_home / r"stable-diffusion-webui" / r"models" / r"Lora",r"backlighting.safetensors")
# ==optional lora models (and misc stuff)==
# by default, none of them are installed (mainly because of storage space reasons),
# unless you uncomment one of them just to actually use them.
# ==weird fact==
# Turns out that A1111 seem to be case sensitive about the first letter being an uppercase,
# which may explain the reason why it's not showing up in the Lora tab.
# I'm wondering why the additional networks extension had to be installed because of
# some issue the original author had to deal with, something they never bothered
# to fix, for whatever reason.
#LAS
#DownLoad(r"https://civitai.com/api/download/models/21065",user_home / r"stable-diffusion-webui" / r"extensions" / r"sd-webui-additional-networks" / r"models"/ r"lora",r"LAS.safetensors")
#DownLoad(r"https://civitai.com/api/download/models/21065",user_home / r"stable-diffusion-webui" / r"models" / r"Lora",r"LAS.safetensors")
#GFPGAN Model
#detection Resnet50
DownLoad(r"https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth",user_home / r"stable-diffusion-webui"/r"models"/r"GFPGAN",r"detection_Resnet50_Final.pth")
#parsing_parsenet
DownLoad(r"https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth",user_home / r"stable-diffusion-webui"/r"models"/r"GFPGAN",r"parsing_parsenet.pth")
#GFPGANv1.4
DownLoad(r"https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth",user_home / r"stable-diffusion-webui"/r"models"/r"GFPGAN",r"GFPGANv1.4.pth")
#strt Stable Diffusion Webui
print("Done\nStarting Webui...")
os.chdir(user_home / r"stable-diffusion-webui")
# ==CPU Option==
# this is the default startup setting if you're not planning to
# run your duplicated space on a GPU.
# if you are planning to run your duplicated space on
# CPU upgrade, this default startup setting is pretty much
# enough as it gets, since it's more or less the same as the
# the other option, albeit a faster processor and more system RAM...
# yeah, that's supported, so it's fine I guess.
while True:
ret=subprocess.run([executable ,user_home / r"stable-diffusion-webui" / r"launch.py",r"--precision",r"full",r"--no-half",r"--no-half-vae",r"--enable-insecure-extension-access",r"--medvram",r"--skip-torch-cuda-test",r"--enable-console-prompts",r"--ui-settings-file="+str(pathlib.Path(__file__).parent /r"config.json")])
if(ret.returncode == 0 ):
del ret
gc.collect()
else :
del ret
del os ,user_home ,pyexecutable ,subprocess
# ==GPU Option (UNTESTED)==
# if you are planning to run your duplicated space on a GPU, you must
# first comment out the default startup setting above this message
# to do so, and then after that, uncomment this below that is commented
# out by default in order to make the most out of it, if this is
# going to run on a GPU.
#
# do not use this option if the space is running on
# CPU upgrade, instead, use the default option above if you are
# planning to run your duplicated space on CPU upgrade.
#
# do not leave the former uncommented if you are going to
# uncomment the other startup option in case if you're running
# it on a GPU. You must pick one option, but not both at the
# same time, because it might cause issues and/or runtime
# errors in that case.
#
# if there's any issues and/or errors for this option below,
# be sure to report any issues about this option or maybe
# at least give feedback on this anyway, because it's not
# really tested that much at the moment.
#while True:
# ret=subprocess.run([executable ,user_home / r"stable-diffusion-webui" / r"launch.py",r"--xformers",r"--no-half-vae",r"--enable-insecure-extension-access",r"--skip-torch-cuda-test",r"--enable-console-prompts",r"--ui-settings-file="+str(pathlib.Path(__file__).parent /r"config.json")])
# if(ret.returncode == 0 ):
# del ret
# gc.collect()
# else :
# del ret
#del os ,user_home ,pyexecutable ,subprocess