Here are a few common installation problems and their solutions. Often these are caused by incomplete installations or crashes during the install process.
QUESTION
During conda env create -f environment.yaml, conda hangs indefinitely.
SOLUTION
Enter the stable-diffusion directory and completely remove the src directory and all its contents. The safest way to do this is to enter the stable-diffusion directory and give the command git clean -f. If this still doesn't fix the problem, try "conda clean -all" and then restart at the conda env create step.
QUESTION
dream.py crashes with the complaint that it can't find ldm.simplet2i.py. Or it complains that function is being passed incorrect parameters.
SOLUTION
Reinstall the stable diffusion modules. Enter the stable-diffusion directory and give the command pip install -e .
QUESTION
dream.py dies, complaining of various missing modules, none of which starts with `ldm``.
SOLUTION
From within the stable-diffusion directory, run conda env update -f environment.yaml This is also frequently the solution to
complaints about an unknown function in a module.
QUESTION
There's a feature or bugfix in the Stable Diffusion GitHub that you want to try out.
SOLUTION
Main Branch
If the fix/feature is on the main branch, enter the stable-diffusion directory and do a git pull.
Usually this will be sufficient, but if you start to see errors about missing or incorrect modules, use the command pip install -e . and/or conda env update -f environment.yaml (These commands won't break anything.)
Sub Branch
If the feature/fix is on a branch (e.g. "foo-bugfix"), the recipe is similar, but do a git pull <name of branch>.
Not Committed
If the feature/fix is in a pull request that has not yet been made part of the main branch or a feature/bugfix branch, then from the page for the desired pull request, look for the line at the top that reads "xxxx wants to merge xx commits into lstein:main from YYYYYY". Copy the URL in YYYY. It should have the format https://github.com/<name of contributor>/stable-diffusion/tree/<name of branch>
Then go to the directory above stable-diffusion and rename the directory to "stable-diffusion.lstein", "stable-diffusion.old", or anything else. You can then git clone the branch that contains the pull request:
git clone https://github.com/<name of contributor>/stable-diffusion/tree/<name
of branch>
You will need to go through the install procedure again, but it should be fast because all the dependencies are already loaded.