adieyal / sd-dynamic-prompts

A custom script for AUTOMATIC1111/stable-diffusion-webui to implement a tiny template language for random prompt generation
MIT License
2.06k stars 267 forks source link

Wildcard directory not appearing in the dynamic-prompts folder #161

Closed manzomium closed 1 year ago

manzomium commented 1 year ago

Describe the bug when installing the new version, I can't find the wildcards directory here: \stable-diffusion-webui\extensions\dynamic-prompts

To Reproduce Installed the extension via git cmd

Expected behaviour To have a wildcard folder appearing as before

Additional context general issues with making the extension work on Automatic1111/TheLastBen

adieyal commented 1 year ago

the directory should be called extensions/sd-dynamic-prompts

dynamicprompts is the underlying package that drives the extension - https://github.com/adieyal/dynamicprompts

adieyal commented 1 year ago

I'm busy looking at the colab now - it looks like for some reason, this distribution of auto1111 isn't able to run install.py files - sd-smart-process shows the same error

adieyal commented 1 year ago

While I try figure out what's going on, here is a work around. Before you run the last cell to start auto1111, run this command

!python -m pip install "dynamicprompts[attentiongrabber,magicprompt]"

That will install the main missing library. You might also need

!python -m pip install Send2Trash==1.8.0

but that's less important

manzomium commented 1 year ago

ok, I've tried what you suggest here.

This is what I did. I copied the command

!python -m pip install "dynamicprompts[attentiongrabber,magicprompt]"

It did not work, so I googled a bit and tried to run this command

py -m pip install "dynamicprompts[attentiongrabber,magicprompt]"

then this happened:

K:\My Drive\sd\stable-diffusion-webui\extensions>py -m pip install "dynamicprompts[attentiongrabber,magicprompt]" Collecting dynamicprompts[attentiongrabber,magicprompt] Downloading dynamicprompts-0.2.1-py3-none-any.whl (23 kB) Collecting jinja2<4.0.0,>=3.1.2 Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB) ---------------------------------------- 133.1/133.1 kB 8.2 MB/s eta 0:00:00 Collecting pyparsing<4.0.0,>=3.0.9 Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB) ---------------------------------------- 98.3/98.3 kB ? eta 0:00:00 Collecting requests<3.0.0,>=2.28.1 Downloading requests-2.28.1-py3-none-any.whl (62 kB) ---------------------------------------- 62.8/62.8 kB ? eta 0:00:00 Collecting spacy<4.0.0,>=3.4.4 Downloading spacy-3.4.4-cp311-cp311-win_amd64.whl (11.9 MB) ---------------------------------------- 11.9/11.9 MB 59.4 MB/s eta 0:00:00 Collecting tqdm<5.0.0,>=4.64.1 Downloading tqdm-4.64.1-py2.py3-none-any.whl (78 kB) ---------------------------------------- 78.5/78.5 kB ? eta 0:00:00 Collecting transformers[torch]>=4.19.2 Downloading transformers-4.25.1-py3-none-any.whl (5.8 MB) ---------------------------------------- 5.8/5.8 MB 73.8 MB/s eta 0:00:00 Collecting MarkupSafe>=2.0 Downloading MarkupSafe-2.1.1.tar.gz (18 kB) Preparing metadata (setup.py) ... done Collecting charset-normalizer<3,>=2 Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB) Collecting idna<4,>=2.5 Downloading idna-3.4-py3-none-any.whl (61 kB) ---------------------------------------- 61.5/61.5 kB ? eta 0:00:00 Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.13-py2.py3-none-any.whl (140 kB) ---------------------------------------- 140.6/140.6 kB 8.1 MB/s eta 0:00:00 Collecting certifi>=2017.4.17 Downloading certifi-2022.12.7-py3-none-any.whl (155 kB) ---------------------------------------- 155.3/155.3 kB ? eta 0:00:00 Collecting spacy-legacy<3.1.0,>=3.0.10 Downloading spacy_legacy-3.0.11-py2.py3-none-any.whl (24 kB) Collecting spacy-loggers<2.0.0,>=1.0.0 Downloading spacy_loggers-1.0.4-py3-none-any.whl (11 kB) Collecting murmurhash<1.1.0,>=0.28.0 Downloading murmurhash-1.0.9-cp311-cp311-win_amd64.whl (18 kB) Collecting cymem<2.1.0,>=2.0.2 Downloading cymem-2.0.7-cp311-cp311-win_amd64.whl (28 kB) Collecting preshed<3.1.0,>=3.0.2 Downloading preshed-3.0.8-cp311-cp311-win_amd64.whl (91 kB) ---------------------------------------- 91.9/91.9 kB ? eta 0:00:00 Collecting thinc<8.2.0,>=8.1.0 Downloading thinc-8.1.6-cp311-cp311-win_amd64.whl (1.3 MB) ---------------------------------------- 1.3/1.3 MB 84.1 MB/s eta 0:00:00 Collecting wasabi<1.1.0,>=0.9.1 Downloading wasabi-0.10.1-py3-none-any.whl (26 kB) Collecting srsly<3.0.0,>=2.4.3 Downloading srsly-2.4.5-cp311-cp311-win_amd64.whl (477 kB) ---------------------------------------- 477.5/477.5 kB 29.2 MB/s eta 0:00:00 Collecting catalogue<2.1.0,>=2.0.6 Downloading catalogue-2.0.8-py3-none-any.whl (17 kB) Collecting typer<0.8.0,>=0.3.0 Downloading typer-0.7.0-py3-none-any.whl (38 kB) Collecting pathy>=0.3.5 Downloading pathy-0.10.1-py3-none-any.whl (48 kB) ---------------------------------------- 48.9/48.9 kB 2.4 MB/s eta 0:00:00 Collecting smart-open<7.0.0,>=5.2.1 Downloading smart_open-6.3.0-py3-none-any.whl (56 kB) ---------------------------------------- 56.8/56.8 kB ? eta 0:00:00 Collecting numpy>=1.15.0 Downloading numpy-1.24.1-cp311-cp311-win_amd64.whl (14.8 MB) ---------------------------------------- 14.8/14.8 MB 54.7 MB/s eta 0:00:00 Collecting pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4 Downloading pydantic-1.10.4-cp311-cp311-win_amd64.whl (2.1 MB) ---------------------------------------- 2.1/2.1 MB 65.9 MB/s eta 0:00:00 Requirement already satisfied: setuptools in c:\users[username]\appdata\local\programs\python\python311\lib\site-packages (from spacy<4.0.0,>=3.4.4->dynamicprompts[attentiongrabber,magicprompt]) (65.5.0) Collecting packaging>=20.0 Downloading packaging-22.0-py3-none-any.whl (42 kB) ---------------------------------------- 42.6/42.6 kB 2.0 MB/s eta 0:00:00 Collecting langcodes<4.0.0,>=3.2.0 Downloading langcodes-3.3.0-py3-none-any.whl (181 kB) ---------------------------------------- 181.6/181.6 kB ? eta 0:00:00 Collecting colorama Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) Collecting filelock Downloading filelock-3.9.0-py3-none-any.whl (9.7 kB) Collecting huggingface-hub<1.0,>=0.10.0 Downloading huggingface_hub-0.11.1-py3-none-any.whl (182 kB) ---------------------------------------- 182.4/182.4 kB ? eta 0:00:00 Collecting pyyaml>=5.1 Downloading PyYAML-6.0-cp311-cp311-win_amd64.whl (143 kB) ---------------------------------------- 143.2/143.2 kB 8.3 MB/s eta 0:00:00 Collecting regex!=2019.12.17 Downloading regex-2022.10.31-cp311-cp311-win_amd64.whl (267 kB) ---------------------------------------- 267.7/267.7 kB 16.1 MB/s eta 0:00:00 Collecting tokenizers!=0.11.3,<0.14,>=0.11.1 Downloading tokenizers-0.13.2.tar.gz (359 kB) ---------------------------------------- 359.1/359.1 kB 21.8 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting transformers[torch]>=4.19.2 Downloading transformers-4.24.0-py3-none-any.whl (5.5 MB) ---------------------------------------- 5.5/5.5 MB 87.0 MB/s eta 0:00:00 Downloading transformers-4.23.1-py3-none-any.whl (5.3 MB) ---------------------------------------- 5.3/5.3 MB 84.6 MB/s eta 0:00:00 Downloading transformers-4.23.0-py3-none-any.whl (5.3 MB) ---------------------------------------- 5.3/5.3 MB 30.5 MB/s eta 0:00:00 Downloading transformers-4.22.2-py3-none-any.whl (4.9 MB) ---------------------------------------- 4.9/4.9 MB 78.3 MB/s eta 0:00:00 Collecting tokenizers!=0.11.3,<0.13,>=0.11.1 Downloading tokenizers-0.12.1.tar.gz (220 kB) ---------------------------------------- 220.7/220.7 kB 13.2 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting transformers[torch]>=4.19.2 Downloading transformers-4.22.1-py3-none-any.whl (4.9 MB) ---------------------------------------- 4.9/4.9 MB 12.9 MB/s eta 0:00:00 Downloading transformers-4.22.0-py3-none-any.whl (4.9 MB) ---------------------------------------- 4.9/4.9 MB 51.7 MB/s eta 0:00:00 Downloading transformers-4.21.3-py3-none-any.whl (4.7 MB) ---------------------------------------- 4.7/4.7 MB 74.9 MB/s eta 0:00:00 Downloading transformers-4.21.2-py3-none-any.whl (4.7 MB) ---------------------------------------- 4.7/4.7 MB 4.8 MB/s eta 0:00:00 Downloading transformers-4.21.1-py3-none-any.whl (4.7 MB) ---------------------------------------- 4.7/4.7 MB 4.9 MB/s eta 0:00:00 Downloading transformers-4.21.0-py3-none-any.whl (4.7 MB) ---------------------------------------- 4.7/4.7 MB 24.7 MB/s eta 0:00:00 Downloading transformers-4.20.1-py3-none-any.whl (4.4 MB) ---------------------------------------- 4.4/4.4 MB 94.2 MB/s eta 0:00:00 Downloading transformers-4.20.0-py3-none-any.whl (4.4 MB) ---------------------------------------- 4.4/4.4 MB 70.3 MB/s eta 0:00:00 Downloading transformers-4.19.4-py3-none-any.whl (4.2 MB) ---------------------------------------- 4.2/4.2 MB 22.1 MB/s eta 0:00:00 Downloading transformers-4.19.3-py3-none-any.whl (4.2 MB) ---------------------------------------- 4.2/4.2 MB 11.5 MB/s eta 0:00:00 Downloading transformers-4.19.2-py3-none-any.whl (4.2 MB) ---------------------------------------- 4.2/4.2 MB 66.0 MB/s eta 0:00:00 INFO: pip is looking at multiple versions of tqdm to determine which version is compatible with other requirements. This could take a while. INFO: pip is looking at multiple versions of spacy to determine which version is compatible with other requirements. This could take a while. INFO: pip is looking at multiple versions of requests to determine which version is compatible with other requirements. This could take a while. INFO: pip is looking at multiple versions of pyparsing to determine which version is compatible with other requirements. This could take a while. INFO: pip is looking at multiple versions of to determine which version is compatible with other requirements. This could take a while. INFO: pip is looking at multiple versions of jinja2 to determine which version is compatible with other requirements. This could take a while. INFO: pip is looking at multiple versions of dynamicprompts[attentiongrabber,magicprompt] to determine which version is compatible with other requirements. This could take a while. Collecting dynamicprompts[attentiongrabber,magicprompt] Downloading dynamicprompts-0.2.0-py3-none-any.whl (23 kB) Downloading dynamicprompts-0.1.19-py3-none-any.whl (23 kB) Downloading dynamicprompts-0.1.18-py3-none-any.whl (21 kB) Downloading dynamicprompts-0.1.17-py3-none-any.whl (22 kB) Downloading dynamicprompts-0.1.16-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.15-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.14-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.13-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.12-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.11-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.10-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.9-py3-none-any.whl (15 kB) Downloading dynamicprompts-0.1.8-py3-none-any.whl (15 kB) Collecting pytorch[magicprompt]<2.0.0,>=1.0.2 Downloading pytorch-1.0.2.tar.gz (689 bytes) Preparing metadata (setup.py) ... done Collecting dynamicprompts[attentiongrabber,magicprompt] Downloading dynamicprompts-0.1.7-py3-none-any.whl (15 kB) WARNING: spacy 3.4.4 does not provide the extra 'attentiongrabber' WARNING: transformers 4.25.1 does not provide the extra 'magicprompt' Collecting typing-extensions>=3.7.4.3 Using cached typing_extensions-4.4.0-py3-none-any.whl (26 kB) Collecting blis<0.8.0,>=0.7.8 Downloading blis-0.7.9-cp311-cp311-win_amd64.whl (7.0 MB) ---------------------------------------- 7.0/7.0 MB 89.7 MB/s eta 0:00:00 Collecting confection<1.0.0,>=0.0.1 Downloading confection-0.0.3-py3-none-any.whl (32 kB) Collecting click<9.0.0,>=7.1.1 Downloading click-8.1.3-py3-none-any.whl (96 kB) ---------------------------------------- 96.6/96.6 kB ? eta 0:00:00 Building wheels for collected packages: tokenizers Building wheel for tokenizers (pyproject.toml) ... error error: subprocess-exited-with-error

× Building wheel for tokenizers (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [51 lines of output] running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-311 creating build\lib.win-amd64-cpython-311\tokenizers copying py_src\tokenizers__init.py -> build\lib.win-amd64-cpython-311\tokenizers creating build\lib.win-amd64-cpython-311\tokenizers\models copying py_src\tokenizers\models__init.py -> build\lib.win-amd64-cpython-311\tokenizers\models creating build\lib.win-amd64-cpython-311\tokenizers\decoders copying py_src\tokenizers\decoders__init.py -> build\lib.win-amd64-cpython-311\tokenizers\decoders creating build\lib.win-amd64-cpython-311\tokenizers\normalizers copying py_src\tokenizers\normalizers__init.py -> build\lib.win-amd64-cpython-311\tokenizers\normalizers creating build\lib.win-amd64-cpython-311\tokenizers\pre_tokenizers copying py_src\tokenizers\pre_tokenizers__init.py -> build\lib.win-amd64-cpython-311\tokenizers\pre_tokenizers creating build\lib.win-amd64-cpython-311\tokenizers\processors copying py_src\tokenizers\processors__init.py -> build\lib.win-amd64-cpython-311\tokenizers\processors creating build\lib.win-amd64-cpython-311\tokenizers\trainers copying py_src\tokenizers\trainers__init__.py -> build\lib.win-amd64-cpython-311\tokenizers\trainers creating build\lib.win-amd64-cpython-311\tokenizers\implementations copying py_src\tokenizers\implementations\base_tokenizer.py -> build\lib.win-amd64-cpython-311\tokenizers\implementations copying py_src\tokenizers\implementations\bert_wordpiece.py -> build\lib.win-amd64-cpython-311\tokenizers\implementations copying py_src\tokenizers\implementations\byte_level_bpe.py -> build\lib.win-amd64-cpython-311\tokenizers\implementations copying py_src\tokenizers\implementations\char_level_bpe.py -> build\lib.win-amd64-cpython-311\tokenizers\implementations copying py_src\tokenizers\implementations\sentencepiece_bpe.py -> build\lib.win-amd64-cpython-311\tokenizers\implementations copying py_src\tokenizers\implementations\sentencepiece_unigram.py -> build\lib.win-amd64-cpython-311\tokenizers\implementations copying py_src\tokenizers\implementations\init.py -> build\lib.win-amd64-cpython-311\tokenizers\implementations creating build\lib.win-amd64-cpython-311\tokenizers\tools copying py_src\tokenizers\tools\visualizer.py -> build\lib.win-amd64-cpython-311\tokenizers\tools copying py_src\tokenizers\tools\init__.py -> build\lib.win-amd64-cpython-311\tokenizers\tools copying py_src\tokenizers\init__.pyi -> build\lib.win-amd64-cpython-311\tokenizers copying py_src\tokenizers\models\init__.pyi -> build\lib.win-amd64-cpython-311\tokenizers\models copying py_src\tokenizers\decoders\init__.pyi -> build\lib.win-amd64-cpython-311\tokenizers\decoders copying py_src\tokenizers\normalizers\init.pyi -> build\lib.win-amd64-cpython-311\tokenizers\normalizers copying py_src\tokenizers\pre_tokenizers\init.pyi -> build\lib.win-amd64-cpython-311\tokenizers\pre_tokenizers copying py_src\tokenizers\processors\init__.pyi -> build\lib.win-amd64-cpython-311\tokenizers\processors copying py_src\tokenizers\trainers\init__.pyi -> build\lib.win-amd64-cpython-311\tokenizers\trainers copying py_src\tokenizers\tools\visualizer-styles.css -> build\lib.win-amd64-cpython-311\tokenizers\tools running build_ext running build_rust error: can't find Rust compiler

  If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

  To update pip, run:

      pip install --upgrade pip

  and then retry package installation.

  If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for tokenizers Failed to build tokenizers ERROR: Could not build wheels for tokenizers, which is required to install pyproject.toml-based projects

I guess my PC is missing some software... What do you read in that message? Thank you

manzomium commented 1 year ago

When I tried to run this, I got this message instead

!python -m pip install Send2Trash==1.8.0

but that's less important

K:\My Drive\sd\stable-diffusion-webui\extensions>py -m pip install Send2Trash==1.8.0 Collecting Send2Trash==1.8.0 Downloading Send2Trash-1.8.0-py3-none-any.whl (18 kB) Installing collected packages: Send2Trash WARNING: The script send2trash.exe is installed in 'C:\Users[username]\AppData\Local\Programs\Python\Python311\Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed Send2Trash-1.8.0

manzomium commented 1 year ago

finally, when I launched the last cell of AUTO 1111, I got this message right away. I guess I'll wait until you fix the thing ;-)
Thanks in advance!

Error loading script: dynamic_prompting.py Traceback (most recent call last): File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/scripts.py", line 205, in load_scripts module = script_loading.load_module(scriptfile.path) File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/script_loading.py", line 13, in load_module exec(compiled, module.dict) File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/dynamic-prompts/scripts/dynamic_prompting.py", line 15, in from dynamicprompts.wildcardmanager import WildcardManager ModuleNotFoundError: No module named 'dynamicprompts'

adieyal commented 1 year ago

Are you this both on colab as well as your local machine. The paths in your last message refer to gdrive whereas the previous are on a windows machine. It's important to know since the location of your python interpretor is different depending on the environment. On the colab, I think it's simply /usr/local/bin/python which is why python -m pip install dynamicprompts should work there. On your local machine, it depends on whether there is a virtual environment set up. Is there a folder called venv or env inside of the webui main folder? If so, then you will need to run something like venv\bin\python -m pip install "dynamicprompts[magicprompt,attentiongrabber]"

The ModuleNotFoundError is actually an issue with the LastBen colab (perhaps other colabs as well) rather than the Dynamic Prompts extension. I have found a few other extensions that install external dependencies are broken.

manzomium commented 1 year ago

so.. I think I eventually understood that I need to click on +code inside colab and run that line there, and not from GIT CMD as I did above now it works 👍 thanks a lot for your patience!