Mikubill / sd-webui-controlnet

WebUI extension for ControlNet
GNU General Public License v3.0
16.89k stars 1.94k forks source link

[Bug]: ControlNet ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' #2837

Closed UltimaTenshi closed 5 months ago

UltimaTenshi commented 5 months ago

Is there an existing issue for this?

What happened?

I tried to install Mikubill's ControlNet on my Stable Diffusion v.1.5, but after I launch webui-user.bat I've got an error: ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader'.

Steps to reproduce the problem

  1. I followed installation guide and installed ControlNet
  2. I launched webui-user.bat
  3. Got ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' in terminal with no ControlNet tab in SD interface.

What should have happened?

ControlNet should be in SD interface.

Commit where the problem happens

SD: 1.5 controlnet: latest

What browsers do you use to access the UI ?

Google Chrome

Command Line Arguments

--autolaunch --theme dark --administrator --opt-sdp-no-mem-attention --opt-channelslast --disable-nan-check --no-half-vae --update-check --api

List of enabled extensions

DWPose
adetailer generative-models openpose-editor sd-webui-kohya-hiresfix sd-webui-openpose-editor

Console logs

venv "C:\SD\stable-diffusion-webui-master\venv\Scripts\Python.exe"
Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec  6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)]
Version: <none>
Commit hash: <none>
Installing requirements

Not a git clone, can't perform version check.
Launching Web UI with arguments: --autolaunch --theme dark --administrator --opt-sdp-no-mem-attention --opt-channelslast --disable-nan-check --no-half-vae --update-check --api
C:\SD\stable-diffusion-webui-master\venv\lib\site-packages\gradio_client\documentation.py:103: UserWarning: Could not get documentation group for <class 'gradio.mix.Parallel'>: No known documentation group for module 'gradio.mix'
  warnings.warn(f"Could not get documentation group for {cls}: {exc}")
C:\SD\stable-diffusion-webui-master\venv\lib\site-packages\gradio_client\documentation.py:103: UserWarning: Could not get documentation group for <class 'gradio.mix.Series'>: No known documentation group for module 'gradio.mix'
  warnings.warn(f"Could not get documentation group for {cls}: {exc}")
No module 'xformers'. Proceeding without it.
[-] ADetailer initialized. version: 24.4.2, num models: 10
Error loading script: api.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\api.py", line 17, in <module>
    from scripts import external_code, global_state
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\external_code.py", line 1, in <module>
    from internal_controlnet.external_code import *  # noqa: F403
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\internal_controlnet\external_code.py", line 12, in <module>
    from scripts import global_state
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\global_state.py", line 9, in <module>
    from scripts.supported_preprocessor import Preprocessor
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\supported_preprocessor.py", line 9, in <module>
    from scripts.utils import ndarray_lru_cache
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

Error loading script: batch_hijack.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\batch_hijack.py", line 6, in <module>
    from scripts import external_code
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\external_code.py", line 1, in <module>
    from internal_controlnet.external_code import *  # noqa: F403
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\internal_controlnet\external_code.py", line 12, in <module>
    from scripts import global_state
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\global_state.py", line 9, in <module>
    from scripts.supported_preprocessor import Preprocessor
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\supported_preprocessor.py", line 9, in <module>
    from scripts.utils import ndarray_lru_cache
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

Error loading script: controlnet.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\controlnet.py", line 17, in <module>
    import scripts.preprocessor as preprocessor_init  # noqa
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\preprocessor\__init__.py", line 1, in <module>
    from .inpaint import *
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\preprocessor\inpaint.py", line 3, in <module>
    from ..supported_preprocessor import Preprocessor, PreprocessorParameter
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\supported_preprocessor.py", line 9, in <module>
    from scripts.utils import ndarray_lru_cache
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

2024-05-03 15:58:24,099 - ControlNet - INFO - ControlNet v1.1.446
Error loading script: external_code.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\external_code.py", line 1, in <module>
    from internal_controlnet.external_code import *  # noqa: F403
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\internal_controlnet\external_code.py", line 12, in <module>
    from scripts import global_state
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\global_state.py", line 9, in <module>
    from scripts.supported_preprocessor import Preprocessor
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\supported_preprocessor.py", line 9, in <module>
    from scripts.utils import ndarray_lru_cache
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

Error loading script: global_state.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\global_state.py", line 9, in <module>
    from scripts.supported_preprocessor import Preprocessor
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\supported_preprocessor.py", line 9, in <module>
    from scripts.utils import ndarray_lru_cache
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

Warning: ControlNet failed to load SGM - will use LDM instead.
Error loading script: infotext.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\infotext.py", line 7, in <module>
    from scripts import external_code
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\external_code.py", line 1, in <module>
    from internal_controlnet.external_code import *  # noqa: F403
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\internal_controlnet\external_code.py", line 12, in <module>
    from scripts import global_state
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\global_state.py", line 9, in <module>
    from scripts.supported_preprocessor import Preprocessor
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\supported_preprocessor.py", line 9, in <module>
    from scripts.utils import ndarray_lru_cache
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

Error loading script: supported_preprocessor.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\supported_preprocessor.py", line 9, in <module>
    from scripts.utils import ndarray_lru_cache
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

Error loading script: utils.py
Traceback (most recent call last):
  File "C:\SD\stable-diffusion-webui-master\modules\scripts.py", line 257, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
  File "C:\SD\stable-diffusion-webui-master\modules\script_loading.py", line 11, in load_module
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\SD\stable-diffusion-webui-master\extensions\sd-webui-controlnet\scripts\utils.py", line 13, in <module>
    from modules.modelloader import load_file_from_url  # noqa: F401
ImportError: cannot import name 'load_file_from_url' from 'modules.modelloader' (C:\SD\stable-diffusion-webui-master\modules\modelloader.py)

Additional information

No response

huchenlei commented 5 months ago

Please update your A1111 to >1.7.0. We have no plan to support legacy A1111 versions.