Skip to content
This repository has been archived by the owner on Sep 7, 2022. It is now read-only.

facexlib version conflict: gfpgan 1.3.4 depends on facexlib>=0.2.5 #169

Closed
StephanTLavavej opened this issue Aug 31, 2022 · 6 comments
Closed

Comments

@StephanTLavavej
Copy link

Summary

I've followed the installation instructions carefully, the server successfully starts, and I can use both Stable Diffusion and GFPGAN. However, when I run webui.cmd, I see a conflict message:

The conflict is caused by:
    The user requested facexlib 0.2.4 (from git+https://github.com/hlky/facexlib#egg=facexlib)
    gfpgan 1.3.4 depends on facexlib>=0.2.5

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict


Pip subprocess error:
ERROR: Cannot install -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 23) and facexlib 0.2.4 (from git+https://github.com/hlky/facexlib#egg=facexlib) because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

Analysis

I'm a Python novice, but I think I can see why this is happening. This repo's environment.yaml refers to https://github.com/hlky/facexlib :

https://github.com/hlky/stable-diffusion/blob/fa977b3d6f9d0b264035c949fd70415476f00036/environment.yaml#L33

And https://github.com/hlky/facexlib/blob/master/VERSION currently identifies itself as 0.2.4.

environment.yaml also refers to https://github.com/TencentARC/GFPGAN :

https://github.com/hlky/stable-diffusion/blob/fa977b3d6f9d0b264035c949fd70415476f00036/environment.yaml#L36

But https://github.com/TencentARC/GFPGAN/blob/master/requirements.txt#L2 currently requires facexlib>=0.2.5. This appeared in a commit literally one hour ago as I'm typing this, TencentARC/GFPGAN@3e27784 , so I may be the first person who's seen this.

It appears that TencentARC/GFPGAN is expecting the upstream repo https://github.com/xinntao/facexlib where https://github.com/xinntao/facexlib/blob/master/VERSION currently identifies itself as 0.2.5, due to a commit eight hours ago, xinntao/facexlib@7655b7c .

Possible fixes

My novice guess is that hlky/facexlib should take an update from upstream xinntao/facexlib. Alternatively, perhaps the version of TencentARC/GFPGAN used by this repo needs to be "pinned".

Full webui.cmd output

If it helps, here is the exact text I'm seeing:

Click to expand verbatim output from webui.cmd:
D:\GitHub\stable-diffusion>webui
anaconda3/miniconda3 detected in C:\Users\stl\miniconda3

CondaValueError: prefix already exists: C:\Users\stl\miniconda3\envs\ldo

Collecting package metadata (repodata.json): done
Solving environment: done
Installing pip dependencies: \ Ran pip subprocess with arguments:
['C:\\Users\\stl\\miniconda3\\envs\\ldo\\python.exe', '-m', 'pip', 'install', '-U', '-r', 'D:\\GitHub\\stable-diffusion\\condaenv.0cqgpxpp.requirements.txt']
Pip subprocess output:
Requirement already satisfied: albumentations==0.4.3 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 1)) (0.4.3)
Requirement already satisfied: opencv-python==4.1.2.30 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 2)) (4.1.2.30)
Requirement already satisfied: opencv-python-headless==4.1.2.30 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 3)) (4.1.2.30)
Requirement already satisfied: pudb==2019.2 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 4)) (2019.2)
Requirement already satisfied: imageio==2.9.0 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 5)) (2.9.0)
Requirement already satisfied: imageio-ffmpeg==0.4.2 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 6)) (0.4.2)
Requirement already satisfied: pytorch-lightning==1.4.2 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 7)) (1.4.2)
Requirement already satisfied: omegaconf==2.1.1 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 8)) (2.1.1)
Requirement already satisfied: test-tube>=0.7.5 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 9)) (0.7.5)
Requirement already satisfied: streamlit>=0.73.1 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 10)) (1.12.2)
Requirement already satisfied: einops==0.3.0 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 11)) (0.3.0)
Requirement already satisfied: torch-fidelity==0.3.0 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 12)) (0.3.0)
Requirement already satisfied: transformers==4.19.2 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 13)) (4.19.2)
Requirement already satisfied: torchmetrics==0.6.0 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 14)) (0.6.0)
Requirement already satisfied: kornia==0.6 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 15)) (0.6.0)
Requirement already satisfied: gradio==3.1.6 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 16)) (3.1.6)
Requirement already satisfied: accelerate==0.12.0 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 17)) (0.12.0)
Requirement already satisfied: pynvml==11.4.1 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 18)) (11.4.1)
Requirement already satisfied: basicsr>=1.3.4.0 in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 19)) (1.4.2)
Obtaining facexlib from git+https://github.com/hlky/facexlib#egg=facexlib (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 20))
  Updating d:\github\stable-diffusion\src\facexlib clone
Obtaining taming-transformers from git+https://github.com/CompVis/taming-transformers#egg=taming-transformers (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 21))
  Updating d:\github\stable-diffusion\src\taming-transformers clone
Obtaining clip from git+https://github.com/openai/CLIP#egg=clip (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 22))
  Updating d:\github\stable-diffusion\src\clip clone
Obtaining GFPGAN from git+https://github.com/TencentARC/GFPGAN#egg=GFPGAN (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 23))
  Updating d:\github\stable-diffusion\src\gfpgan clone
Obtaining realesrgan from git+https://github.com/xinntao/Real-ESRGAN#egg=realesrgan (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 24))
  Updating d:\github\stable-diffusion\src\realesrgan clone
Obtaining k_diffusion from git+https://github.com/hlky/k-diffusion-sd#egg=k_diffusion (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 25))
  Updating d:\github\stable-diffusion\src\k-diffusion clone
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Obtaining file:///D:/GitHub/stable-diffusion (from -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 26))
Requirement already satisfied: ftfy in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from clip->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 22)) (6.1.1)
Requirement already satisfied: regex in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from clip->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 22)) (2022.8.17)
Requirement already satisfied: tqdm in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from clip->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 22)) (4.64.0)
Requirement already satisfied: torch in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from clip->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 22)) (1.11.0)
Requirement already satisfied: torchvision in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from clip->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 22)) (0.12.0)
Requirement already satisfied: filterpy in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from facexlib->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 20)) (1.4.5)
Requirement already satisfied: numba in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from facexlib->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 20)) (0.56.0)
Requirement already satisfied: numpy in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from facexlib->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 20)) (1.19.2)
Requirement already satisfied: Pillow in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from facexlib->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 20)) (9.2.0)
Requirement already satisfied: scipy in c:\users\stl\miniconda3\envs\ldo\lib\site-packages (from facexlib->-r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 20)) (1.9.1)
INFO: pip is looking at multiple versions of facexlib to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of clip to determine which version is compatible with other requirements. This could take a while.

The conflict is caused by:
    The user requested facexlib 0.2.4 (from git+https://github.com/hlky/facexlib#egg=facexlib)
    gfpgan 1.3.4 depends on facexlib>=0.2.5

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict


Pip subprocess error:
ERROR: Cannot install -r D:\GitHub\stable-diffusion\condaenv.0cqgpxpp.requirements.txt (line 23) and facexlib 0.2.4 (from git+https://github.com/hlky/facexlib#egg=facexlib) because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

failed

CondaEnvException: Pip failed

Relauncher: Launching...
Loaded GFPGAN
Loaded RealESRGAN with model RealESRGAN_x4plus
Loading model from models/ldm/stable-diffusion-v1/model.ckpt
Global Step: 470000
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
making attention of type 'vanilla' with 512 in_channels
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
making attention of type 'vanilla' with 512 in_channels
Running on local URL:  http://localhost:7860/

To create a public link, set `share=True` in `launch()`.

Thanks!

(Thanks for your amazing repo! Getting started was very easy, and it runs much faster than other forks I've tried. 😸 Although this version conflict doesn't seem to interfere with usability, I'm reporting it to help improve the experience.)

@StephanTLavavej
Copy link
Author

@AscendedGravity reported this as #168 about five minutes before I finished writing 😹. Feel free to close this as a duplicate.

@AscendedGravity
Copy link

Yours is so much more detailed though! 🤩

@davidhennemann
Copy link

For now: easy fix is to pin the version in the environment.yaml to previous non breaking commit.

    - -e git+https://github.com/TencentARC/GFPGAN.git@2c420ee56535f7a26d7eeb7f5b02a851cb1c1c63#egg=GFPGAN

@hlky
Copy link

hlky commented Aug 31, 2022

@davidhennemann don't do this >_>

it's fixed now, gfpgan updated their requirements to facexlib 0.2.5, we forked facexlib to add a fix for gfpgan, I've pulled the changes from facexlib so everything is fine

@hlky hlky closed this as completed Aug 31, 2022
@davidhennemann
Copy link

Ok thats way better :D

@hlky
Copy link

hlky commented Aug 31, 2022

You shouldn't need any updates, just run webui.cmd again

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants