====== Notes about Automatic1111 Stable Diffusion ======
==== Installation - Manjaro ====
After recent update, had only python 3.12 installed - we need exactly 3.10.6!
So, create virtual environment and install there:
[chris@bender-22 stable-diffusion-webui]$ pamac install pyenv
Preparing...
Synchronizing package databases...
Resolving dependencies...
Checking inter-conflicts...
To install (1):
pyenv 1:2.4.0-2 extra 307,7 kB
Total download size: 307,7 kB
Total installed size: 3,2 MB
Apply transaction ? [y/N] y
==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required to install, update, or remove packages
Authenticating as: chris
Password:
==== AUTHENTICATION COMPLETE ====
Download of pyenv (1:2.4.0-2) started
Download of pyenv (1:2.4.0-2) finished
Checking keyring... [1/1]
Checking integrity... [1/1]
Loading packages files... [1/1]
Checking file conflicts... [1/1]
Checking available disk space... [1/1]
Installing pyenv (1:2.4.0-2)... [1/1]
Transaction successfully finished.
[chris@bender-22 stable-diffusion-webui]$ pyenv --version
pyenv 2.4.0
[chris@bender-22 stable-diffusion-webui]$ pyenv install 3.10.6
Downloading Python-3.10.6.tar.xz...
-> https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
Installing Python-3.10.6...
Installed Python-3.10.6 to /home/chris/.pyenv/versions/3.10.6
[chris@bender-22 stable-diffusion-webui]$
[chris@bender-22 stable-diffusion-webui]$ pamac install python-virtualenv
Preparing...
Synchronizing package databases...
Refreshing AUR...
Resolving dependencies...
Checking inter-conflicts...
To install (3):
python-distlib 0.3.8-2 (Required By: python-virtualenv) extra 250,9 kB
python-filelock 3.13.3-2 (Required By: python-virtualenv) extra 22,0 kB
python-virtualenv 20.25.0-3 extra 3,3 MB
Total download size: 3,6 MB
Total installed size: 6,3 MB
Apply transaction ? [y/N] y
==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required to install, update, or remove packages
Authenticating as: chris
Password:
==== AUTHENTICATION COMPLETE ====
Download of python-virtualenv (20.25.0-3) started
Download of python-distlib (0.3.8-2) started
Download of python-filelock (3.13.3-2) started
Download of python-filelock (3.13.3-2) finished
Download of python-distlib (0.3.8-2) finished
Download of python-virtualenv (20.25.0-3) finished
Checking keyring... [3/3]
Checking integrity... [3/3]
Loading packages files... [3/3]
Checking file conflicts... [3/3]
Checking available disk space... [3/3]
Installing python-distlib (0.3.8-2)... [1/3]
Installing python-filelock (3.13.3-2)... [2/3]
Installing python-virtualenv (20.25.0-3)... [3/3]
Running post-transaction hooks...
Arming ConditionNeedsUpdate... [1/1]
Transaction successfully finished.
[chris@bender-22 stable-diffusion-webui]$
[chris@bender-22 stable-diffusion-webui]$ pyenv virtualenv
pyenv: no such command `virtualenv'
[chris@bender-22 stable-diffusion-webui]$
[chris@bender-22 stable-diffusion-webui]$ pamac install pyenv-virtualenv
Warning: pyenv-virtualenv is only available from AUR
Preparing...
Checking pyenv-virtualenv dependencies...
Resolving dependencies...
Checking inter-conflicts...
To build (1):
pyenv-virtualenv 1:1.2.3-1 AUR
Edit build files : [e]
Apply transaction ? [e/y/N] y
Cloning pyenv-virtualenv build files...
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m
Generating pyenv-virtualenv information...
==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required to install, update, or remove packages
Authenticating as: chris
Password:
==== AUTHENTICATION COMPLETE ====
Building pyenv-virtualenv...
==> Making package: pyenv-virtualenv 1:1.2.3-1 (Mi 15 Mai 2024 23:30:35)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading v1.2.3.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 31094 0 31094 0 0 57533 0 --:--:-- --:--:-- --:--:-- 3711k
==> Validating source files with sha256sums...
v1.2.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Extracting v1.2.3.tar.gz with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "pyenv-virtualenv"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: pyenv-virtualenv 1:1.2.3-1 (Mi 15 Mai 2024 23:30:36)
==> Cleaning up...
Checking keyring... [1/1]
Checking integrity... [1/1]
Loading packages files... [1/1]
Checking file conflicts... [1/1]
Checking available disk space... [1/1]
Installing pyenv-virtualenv (1:1.2.3-1)... [1/1]
Transaction successfully finished.
[chris@bender-22 stable-diffusion-webui]$ pyenv virtualenv 3.10.6 sd
[chris@bender-22 stable-diffusion-webui]$ pyenv activate sd
Failed to activate virtualenv.
Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.
[chris@bender-22 stable-diffusion-webui]$ pyenv virtualenvs
3.10.6/envs/sd (created from /home/chris/.pyenv/versions/3.10.6)
sd (created from /home/chris/.pyenv/versions/3.10.6)
So even after resetting the shell was unable to use ''pyenv activate sd'', but was able to activate the env by sourcing the venv's activate executable manually:
[chris@bender-22 stable-diffusion-webui]$ . ~/.pyenv/versions/3.10.6/envs/sd/bin/activate
(sd) [chris@bender-22 stable-diffusion-webui]$ python --version
Python 3.10.6
(sd) [chris@bender-22 stable-diffusion-webui]$
Now was able to run ./webui.sh and install everything. Got an error on the first run:
2024-05-15 23:53:36,347 - ControlNet - INFO - ControlNet UI callback registered.
creating model quickly: OSError
Traceback (most recent call last):
File "/home/chris/.pyenv/versions/3.10.6/envs/sd/lib/python3.10/site-packages/huggingface_hub/utils/_errors.py", line 304, in hf_raise_for_status
response.raise_for_status()
File "/home/chris/.pyenv/versions/3.10.6/envs/sd/lib/python3.10/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://huggingface.co/None/resolve/main/config.json
Updated extensions and reloaded UI, this time with no errors and everything works fine.