Gourieff / sd-webui-reactor

Fast and Simple Face Swap Extension for StableDiffusion WebUI (A1111 SD WebUI, SD WebUI Forge, SD.Next, Cagliostro)
GNU Affero General Public License v3.0
2.11k stars 220 forks source link

ImportError: cannot import name 'Undefined' from 'pydantic.fields' #423

Closed vinch00 closed 1 week ago

vinch00 commented 1 week ago

First, confirm

What happened?

A111 webui does not start after reActor is installed.

Steps to reproduce the problem

1) Fresh A1111 install 2) Install the reActor extension 3) Errors appear as shown.

Sysinfo

Ubuntu 22.04 A111 v1.9.0 Python 3.10.6 Torch 2.1.2+cu121 Gradio 3.41.2

Relevant console log

username@ubuntu:~/stable-diffusion-webui$ Traceback (most recent call last):
  File "/home/username/stable-diffusion-webui/launch.py", line 48, in <module>
    main()
  File "/home/username/stable-diffusion-webui/launch.py", line 44, in main
    start()
  File "/home/username/stable-diffusion-webui/modules/launch_utils.py", line 465, in start
    import webui
  File "/home/username/stable-diffusion-webui/webui.py", line 13, in <module>
    initialize.imports()
  File "/home/username/stable-diffusion-webui/modules/initialize.py", line 23, in imports
    import gradio  # noqa: F401
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/__init__.py", line 3, in <module>
    import gradio.components as components
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/components/__init__.py", line 1, in <module>
    from gradio.components.annotated_image import AnnotatedImage
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/components/annotated_image.py", line 13, in <module>
    from gradio.components.base import IOComponent, _Keywords
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/components/base.py", line 20, in <module>
    from fastapi import UploadFile
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/__init__.py", line 7, in <module>
    from .applications import FastAPI as FastAPI
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/applications.py", line 15, in <module>
    from fastapi import routing
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/routing.py", line 22, in <module>
    from fastapi import params
  File "/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/params.py", line 4, in <module>
    from pydantic.fields import FieldInfo, Undefined
ImportError: cannot import name 'Undefined' from 'pydantic.fields' (/home/username/stable-diffusion-webui/venv/lib/python3.10/site-packages/pydantic/fields.py)


### Additional information

_No response_
vinch00 commented 1 week ago

I was able to resolve it.

Seems recent changes in the albumentations package caused dependency issues. So I did the following in SD WebUI venv/bin/activate

pip uninstall fastapi
pip install fastapi==0.90.1
pip uninstall pydantic
pip install pydantic==1.10.13
pip uninstall albumentations
pip install albumentations==1.3.1
interzone2 commented 1 week ago

I was able to resolve it.

Seems recent changes in the albumentations package caused dependency issues. So I did the following in SD WebUI venv/bin/activate

pip uninstall fastapi
pip install fastapi==0.90.1
pip uninstall pydantic
pip install pydantic==1.10.13
pip uninstall albumentations
pip install albumentations==1.3.1

This didn't work for me still have the errors:

`Launching launch.py... ################################################################ glibc version is 2.31 Check TCMalloc: libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4 is not linked with libpthread will trigger undefined symbol: pthread_Key_create error Check TCMalloc: libtcmalloc.so.4 libtcmalloc.so.4 is linked with libpthread,execute LD_PRELOAD=/lib/x86_64-linux-gnu/libtcmalloc.so.4 Python 3.10.13 (main, Aug 25 2023, 13:20:03) [GCC 9.4.0] Version: v1.9.0 Commit hash: adadb4e3c7382bf3e4f7519126cd6c70f4f8557b CUDA 12.1 Launching Web UI with arguments: Traceback (most recent call last): File "/workspace/stable-diffusion-webui/launch.py", line 48, in main() File "/workspace/stable-diffusion-webui/launch.py", line 44, in main start() File "/workspace/stable-diffusion-webui/modules/launch_utils.py", line 465, in start import webui File "/workspace/stable-diffusion-webui/webui.py", line 13, in initialize.imports() File "/workspace/stable-diffusion-webui/modules/initialize.py", line 23, in imports import gradio # noqa: F401 File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/init.py", line 3, in import gradio.components as components File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/components/init.py", line 1, in from gradio.components.annotated_image import AnnotatedImage File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/components/annotated_image.py", line 13, in from gradio.components.base import IOComponent, _Keywords File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/components/base.py", line 20, in from fastapi import UploadFile File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/init.py", line 7, in from .applications import FastAPI as FastAPI File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/applications.py", line 15, in from fastapi import routing File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/routing.py", line 22, in from fastapi import params File "/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/fastapi/params.py", line 4, in from pydantic.fields import FieldInfo, Undefined ImportError: cannot import name 'Undefined' from 'pydantic.fields' (/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages/pydantic/fields.py) default:/workspace/stable-diffusion-webui$

vinch00 commented 1 week ago

@interzone2 For sanity sake:

interzone2 commented 1 week ago

pip install albumentations==1.3.1

Thanks!

What I did was get into venv and activated it - then uninstalled / reinstalled the packages. Then started ./webui.sh from within venv

Tinkaa commented 1 week ago

pip uninstall fastapi pip install fastapi==0.90.1 pip uninstall pydantic pip install pydantic==1.10.13 pip uninstall albumentations pip install albumentations==1.3.1

Confirming that this works for me as well, thanks for figuring it out!