zero01101 / openOutpaint-webUI-extension

direct A1111 webUI extension for openOutpaint
MIT License
400 stars 22 forks source link

[bug] Extension seems incompatible with TheLastBen's Colab webui instance #11

Open if-ai opened 1 year ago

if-ai commented 1 year ago

Internal Server Error?

My guess is that is not yet implemented to run in colab notebooks but install flawlessly this thing looks great I wish I could use it inside colab too

seijihariki commented 1 year ago

Hi, actually, it seems someone was able to run this on colab, although as an extension: https://github.com/zero01101/openOutpaint-webUI-extension/issues/6 not sure how. @Lesteriax, did you use a publicly available notebook for stable diffusion webui?

Lesteriax commented 1 year ago

Hi @seijihariki, I'm actually using paperspace gradient notebook, not colab, my mistake sorry. The fix happened as follows:

I removed --gradio-debug (not sure where this would be found in other notebooks) added --api in userbat added --cors-allow-origins=https://1234567886.gradio.ap in userbat

I would basically launch the webui to get the link and then add it in userbat and refresh

seijihariki commented 1 year ago

Makes sense, thanks for your input! @jvoxel, would you be able to provide us the notebook you used for this error to crop up? Mostly to investigate the issue further.

seijihariki commented 1 year ago

A similar issue seems to have cropped up on another user of thelastben's colab.

As this seems to be extension related, will move this issue to the extension's repo and mark the other issue as duplicate.

seijihariki commented 1 year ago

So, instructions for reproducing this bug were provided by @createperhaps on #10:

Describe the bug When I click the openoutpaint tab I see Internal Server Error. The log says "index.html does not exist" but it does.

To Reproduce I ran TheLastBen colab. I click the extensions tab and scroll to openOutpaint Click "install". Click "refresh GUI". Go to the openOutpaint tab. "internal server error" is displayed.

Expected behavior I expect to see the outpaint GUI.

Screenshots If applicable, add screenshots to help explain your problem.

The notebook seems to live at https://github.com/TheLastBen/fast-stable-diffusion. Will try to reproduce this later today.

I'm centralizing discussion on this problem in this issue here.

createperhaps commented 1 year ago

Thanks @seijihariki, let me know if you have any questions if anything is unclear. I didn't try to reinstall all of Automatic/SD (given it is more widespread, I doubt that would fix it), though I did restart the collab instance and it didn't sort itself out.

I also tried to see if I could run the cor command and see if I could run it from https://zero01101.github.io/openOutpaint/ but I am not super familiar with Python.

createperhaps commented 1 year ago

TheLastBen offers two servers, I am using the gradio checkbox if that makes a difference.

seijihariki commented 1 year ago

Is there a way for us to see the “Internal Server Error” you are getting? If you could help us with a screenshot, it would be great! I am currently testing here, but I guess I need to upload a model to gdrive...

createperhaps commented 1 year ago

Hey Seiji, theLastBen actually downloads the model automatically, but sure.

Here is the log that I see in my colab while I wait, I will get a screenshot in a moment.

ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/starlette/responses.py", line 331, in __call__
    stat_result = await anyio.to_thread.run_sync(os.stat, self.path)
  File "/usr/local/lib/python3.8/dist-packages/anyio/to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 867, in run
    result = context.run(func, *args)
FileNotFoundError: [Errno 2] No such file or directory: '/content/gdrive/.shortcut-targets-by-id/1eQNT1dJ_FuqEB3Q6vFiZpTVHuVFZ20dr/sd/stablediffusion/extensions/openOutpaint-webUI-extension/app/index.html'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/uvicorn/protocols/http/h11_impl.py", line 404, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.8/dist-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/fastapi/applications.py", line 270, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/gzip.py", line 24, in __call__
    await responder(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/gzip.py", line 43, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/cors.py", line 84, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/exceptions.py", line 75, in __call__
    raise exc
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/exceptions.py", line 64, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.8/dist-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/usr/local/lib/python3.8/dist-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 680, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 275, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 68, in app
    await response(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/responses.py", line 334, in __call__
    raise RuntimeError(f"File at path {self.path} does not exist.")
RuntimeError: File at path /content/gdrive/.shortcut-targets-by-id/1eQNT1dJ_FuqEB3Q6vFiZpTVHuVFZ20dr/sd/stablediffusion/extensions/openOutpaint-webUI-extension/app/index.html does not exist.
ERROR:uvicorn.error:Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/starlette/responses.py", line 331, in __call__
    stat_result = await anyio.to_thread.run_sync(os.stat, self.path)
  File "/usr/local/lib/python3.8/dist-packages/anyio/to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 867, in run
    result = context.run(func, *args)
FileNotFoundError: [Errno 2] No such file or directory: '/content/gdrive/.shortcut-targets-by-id/1eQNT1dJ_FuqEB3Q6vFiZpTVHuVFZ20dr/sd/stablediffusion/extensions/openOutpaint-webUI-extension/app/index.html
zero01101 commented 1 year ago

yeah, i was actually just trying this all myself; looks like it starts in the install script actually, it's not even finding launch.py??

Error running install.py for extension /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension.
Command: "/usr/bin/python3" "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py"
Error code: 1
stdout: <empty>
stderr: Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py", line 3, in <module>
    from launch import run
ModuleNotFoundError: No module named 'launch'

filesystem wonkiness? i honestly never use colabs so i have next to zero familiarity with them...

createperhaps commented 1 year ago

Just throwing out ideas here, but it looks like your script plugs into the API via the web. Given that Gradio generates a URL at runtime, can it plug in if there is no URL? I am assuming local automatic111 is a static link, but maybe not. Of course, that wouldn't explain why a local file cannot be found.

Anyway, back to the topic. I started running my colab again, I noticed the cell writes:

openOutpaint init

LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Loading weights [288ccaa5] from /content/gdrive/.shortcut-targets-by-id/1eQNT1dJ_FuqEB3Q6vFiZpTVHuVFZ20dr/sd/stable-diffusion-webui/models/Stable-diffusion/SF_EB_1.1_SD50_ema_vae.ckpt
Applying xformers cross attention optimization.
Model loaded.
Loaded a total of 0 textual inversion embeddings.
Embeddings: 
Running on local URL:  IP removed for privacy
Running on public URL: IP removed for privacy

The bottom link is the one that has been working for me. When I click it I get the error code I mentioned above, about the file not found. The error code is pathetically not helpful, which is why I didn't include a screenshot in my original post. Refresh button repeats the error code I posted above. image

zero01101 commented 1 year ago

just out of curiosity i tried installing the dreambooth and dreamartist extensions to the colab and got very similar failures

Error running install.py for extension /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd_dreambooth_extension.
Command: "/usr/bin/python3" "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd_dreambooth_extension/install.py"
Error code: 1
stdout: <empty>
stderr: Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd_dreambooth_extension/install.py", line 10, in <module>
    from launch import run
ModuleNotFoundError: No module named 'launch'
Closing server running on port: 7860
Reloading extensions
Reloading custom scripts
Error loading script: api.py
Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/scripts.py", line 195, 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/sd_dreambooth_extension/scripts/api.py", line 10, in <module>
    from extensions.sd_dreambooth_extension.dreambooth.sd_to_diff import extract_checkpoint
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd_dreambooth_extension/dreambooth/sd_to_diff.py", line 36, in <module>
    from diffusers import (
ImportError: cannot import name 'HeunDiscreteScheduler' from 'diffusers' (/usr/local/lib/python3.8/dist-packages/diffusers/__init__.py)

Error loading script: main.py
Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/scripts.py", line 195, 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/sd_dreambooth_extension/scripts/main.py", line 8, in <module>
    from extensions.sd_dreambooth_extension.dreambooth.sd_to_diff import extract_checkpoint
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd_dreambooth_extension/dreambooth/sd_to_diff.py", line 36, in <module>
    from diffusers import (
ImportError: cannot import name 'HeunDiscreteScheduler' from 'diffusers' (/usr/local/lib/python3.8/dist-packages/diffusers/__init__.py)

Reloading modules: modules.ui
Refreshing Model List
Restarting Gradio
Running on local URL:  http://127.0.0.1:7860/
Running on public URL: https://blahblahblah.gradio.app/

This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces
Error running install.py for extension /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/DreamArtist-sd-webui-extension.
Command: "/usr/bin/python3" "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/DreamArtist-sd-webui-extension/install.py"
Error code: 1
stdout: <empty>
stderr: Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/DreamArtist-sd-webui-extension/install.py", line 1, in <module>
    import launch
ModuleNotFoundError: No module named 'launch'

kinda wondering if this is more of a general extensions vs colab thing

createperhaps commented 1 year ago

Not sure, Tim. I am using aesthetic gradients successfully, web browser successfully, and Dynamic prompts. @zero01101 do you mind confirming if these 3 work for you? Just so we can see if we're on the same page?

zero01101 commented 1 year ago

hah, google started yelling at me for going over my storage allotment so i kinda deleted my gdrive's SD and colab folders, let me spin those up again to check - assuming "web browser" is the image browser extension?

createperhaps commented 1 year ago

Yep, it’s listed as web browser in the extensions tab.

On Mon, Dec 26, 2022 at 6:46 PM tim h @.***> wrote:

hah, google started yelling at me for going over my storage allotment so i kinda deleted my gdrive's SD and colab folders, let me spin those up again to check - assuming "web browser" is the image browser extension?

— Reply to this email directly, view it on GitHub https://github.com/zero01101/openOutpaint-webUI-extension/issues/11#issuecomment-1365510292, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4TQTDEMXJCHQ5F3JMUG6MLWPIU5BANCNFSM6AAAAAATJ42XLM . You are receiving this because you were mentioned.Message ID: @.***>

seijihariki commented 1 year ago

From what you guys are describing we would only need to make our extension not have to run command line programs.

[Edit] In this case, specifically, the git submodule pull

seijihariki commented 1 year ago

Also, yeah, I was using the wrong ipynb it seems.

seijihariki commented 1 year ago

Worst case, we can use a try catch to catch import exceptions and just run it using import os when it triggers for compatibility.

createperhaps commented 1 year ago

If space is an issue I can share my models folder with you. Sd itself is a few gb, but it would at least clear it up a bit.

zero01101 commented 1 year ago

no worries on space, thanks though :)

dynamic prompts returned an error on install:

Error running install.py for extension /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd-dynamic-prompts.
Command: "/usr/bin/python3" "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd-dynamic-prompts/install.py"
Error code: 1
stdout: <empty>
stderr: Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd-dynamic-prompts/install.py", line 1, in <module>
    import launch
ModuleNotFoundError: No module named 'launch'

but otherwise does appear to run as expected... it's also the only one of the three with an install.py script whatsoever lol

Worst case, we can use a try catch to catch import exceptions and just run it using import os when it triggers for compatibility.

:badpokerface: uhhh i will take your word as gospel on that lol, i am still super noob re: all things python

seijihariki commented 1 year ago

@createperhaps give this new version of the extension a try

createperhaps commented 1 year ago

I’m trying soon

On Mon, Dec 26, 2022 at 8:06 PM Victor Seiji Hariki < @.***> wrote:

@createperhaps https://github.com/createperhaps give this new version of the extension a try

— Reply to this email directly, view it on GitHub https://github.com/zero01101/openOutpaint-webUI-extension/issues/11#issuecomment-1365530911, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4TQTDH26T2ZZXHOEVJBVBLWPI6LBANCNFSM6AAAAAATJ42XLM . You are receiving this because you were mentioned.Message ID: @.***>

zero01101 commented 1 year ago

:( no luck on my end here, installing the extension throws:

Error running install.py for extension /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension.
Command: "/usr/bin/python3" "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py"
Error code: 1
stdout: <empty>
stderr: Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py", line 3, in <module>
    from modules import scripts
ModuleNotFoundError: No module named 'modules'

and after restarting webUI, it goes back to complaining about index.html

Closing server running on port: 7860
Reloading extensions
Reloading custom scripts
openOutpaint init
Submodule path 'app': checked out '8fbc42744e4cafea38c0b092dc9d8516315e71b9'

Reloading modules: modules.ui
Refreshing Model List
Restarting Gradio
Running on local URL:  http://127.0.0.1:7860/
Running on public URL: https://5d5199308a452565.gradio.app/

This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/starlette/responses.py", line 331, in __call__
    stat_result = await anyio.to_thread.run_sync(os.stat, self.path)
  File "/usr/local/lib/python3.8/dist-packages/anyio/to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 867, in run
    result = context.run(func, *args)
FileNotFoundError: [Errno 2] No such file or directory: '/content/gdrive/MyDrive/sd/stablediffusion/extensions/openOutpaint-webUI-extension/app/index.html'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/uvicorn/protocols/http/h11_impl.py", line 404, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.8/dist-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/fastapi/applications.py", line 270, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/gzip.py", line 24, in __call__
    await responder(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/gzip.py", line 43, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/exceptions.py", line 75, in __call__
    raise exc
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/exceptions.py", line 64, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.8/dist-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/usr/local/lib/python3.8/dist-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 680, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 275, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 68, in app
    await response(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/responses.py", line 334, in __call__
    raise RuntimeError(f"File at path {self.path} does not exist.")
RuntimeError: File at path /content/gdrive/MyDrive/sd/stablediffusion/extensions/openOutpaint-webUI-extension/app/index.html does not exist.
ERROR:uvicorn.error:Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/starlette/responses.py", line 331, in __call__
    stat_result = await anyio.to_thread.run_sync(os.stat, self.path)
  File "/usr/local/lib/python3.8/dist-packages/anyio/to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "/usr/local/lib/python3.8/dist-packages/anyio/_backends/_asyncio.py", line 867, in run
    result = context.run(func, *args)
FileNotFoundError: [Errno 2] No such file or directory: '/content/gdrive/MyDrive/sd/stablediffusion/extensions/openOutpaint-webUI-extension/app/index.html'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/uvicorn/protocols/http/h11_impl.py", line 404, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.8/dist-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/fastapi/applications.py", line 270, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/gzip.py", line 24, in __call__
    await responder(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/gzip.py", line 43, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/exceptions.py", line 75, in __call__
    raise exc
  File "/usr/local/lib/python3.8/dist-packages/starlette/middleware/exceptions.py", line 64, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.8/dist-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/usr/local/lib/python3.8/dist-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 680, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 275, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/routing.py", line 68, in app
    await response(scope, receive, send)
  File "/usr/local/lib/python3.8/dist-packages/starlette/responses.py", line 334, in __call__
    raise RuntimeError(f"File at path {self.path} does not exist.")
RuntimeError: File at path /content/gdrive/MyDrive/sd/stablediffusion/extensions/openOutpaint-webUI-extension/app/index.html does not exist.
seijihariki commented 1 year ago

Oh god, even the modules file is not included? Would you be able to check where install.py is being executed exactly? @zero01101

index.html will not be found until we are finally able to fetch the submodule correctly in the environment.

createperhaps commented 1 year ago

Although I'm late, the update still hasn't worked. Same thing, index.html not found. Have either of you been able to pinpoint the issue? Feel free to use me as a rubber ducky, lol.

Edit: Does it seem colab isn't grabbing a file? Would a manual install work, or is it that colab isn't loading a particular file?

Edit2: what is install.py?

seijihariki commented 1 year ago

Basically, colab can't run the install script properly. supposedly, if you run a !git submodule update --remote inside the extension directory on the colab environment, you should be all ok to go.

createperhaps commented 1 year ago

Ah. Should I add that as a cell, or did you already try that?

seijihariki commented 1 year ago

You can try adding a cell and running it manually, no problem. It would require a cd to the correct directory, then the git update command from above.

seijihariki commented 1 year ago

I'm still thinking of how we can resolve this issue in the repo... I will try one more thing, but no guarantees it will actually work.

createperhaps commented 1 year ago

Right, yeah. From the repo would make more sense. More practical than merging your fix to Ben and all the other ones. Still might be good to know if this works, though.

In the meantime, ...Do you happen to know which directory I need to cd to?

seijihariki commented 1 year ago

Was testing this, and it seems the rabbit hole goes deeper than I though. How we calculate the base path for the iframe breaks inside the gdrive dir.

createperhaps commented 1 year ago

Ah. I'm aware that colab can hold files outside drive, it's temporary. Is it possible to download the extension to the colab runtime?

zero01101 commented 1 year ago

Would you be able to check where install.py is being executed exactly?

i may have missed the point entirely but i added a small debug print() to see precisely what path was being passed and yeah, it's definitely expecting /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py as far as i can tell...

Error running install.py for extension /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension.
Command: "/usr/bin/python3" "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py"
Error code: 1
stdout: debug - sys.argv[0]: /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py

stderr: Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/openOutpaint-webUI-extension/install.py", line 4, in <module>
    from modules import scripts
ModuleNotFoundError: No module named 'modules'
createperhaps commented 1 year ago

Oh! I FORGOT to mention. Not sure if this is relevant, but I have one google account (don't tell Google lol) that holds my SD and models. I then share it, and on my root is a shared sd. It makes my base path: /content/gdrive/.shortcut-targets-by-id/1eQNT1dJ_FuqEB3Q6vFiZpTVHuVFZ20dr/sd/stablediffusion/extensions...

(if you were wondering why its longer)

seijihariki commented 1 year ago

Oh, no issue whatsoever. I am thinking if it would be prudent to just fallback to __file__ for all these broken references... also, @zero01101... It seems /file/ on the external gradio proxy refers to /stablediffusion/ instead of /stable-diffusion-webui/ for some reason.

We would have to do heavy witchery to even begin to untangle why that is.

zero01101 commented 1 year ago

💀 i must refer again to my incredible noobishness with python but for almost no reason at all i wonder if it has something to do with these lines in the "start stable-diffusion" cell? i'm not sure of this bit's ramifications, but i don't ever see cap referenced after it's imported...

image

seijihariki commented 1 year ago

Yes, it has.

Okay, seems my "heavy witchery" comment was far too harsh, and very little witchery had to actually be done.

Just add this to the end of the cell, and it runs wonderfully. image

zero01101 commented 1 year ago

lmao

zero01101 commented 1 year ago

possibly a job for documentation?

createperhaps commented 1 year ago

I actually just copied my extension to the correct folder and it loaded fine...so uh, we all came up with the same conclusion together, didn't we?

seijihariki commented 1 year ago

Also, remember to set this variable at the beginning of the cell to true.

image

createperhaps commented 1 year ago

Is this worth suggesting to LastBen? He is pretty responsive on his git.

zero01101 commented 1 year ago

yeah i totally forgot to mention that Enable_API looks like it's gonna need to be enabled

seijihariki commented 1 year ago

possibly a job for documentation?

Not really... for now maybe, but this is issue material for ben's repo.

seijihariki commented 1 year ago

If my guesses are correct this fixes all other extensions as well.

zero01101 commented 1 year ago

but this is issue material for ben's repo.

oh no argument there; moreso just a "known issue but kind of not our fault, nyah nyah :P"

createperhaps commented 1 year ago

Oh okay. Yeah, I set the variable to true on my own. I'll get the cd in (more practical than copying), but I should be good. I'll let Ben know.

seijihariki commented 1 year ago

Thanks, @createperhaps! If you could reference this issue there, it would be great!

createperhaps commented 1 year ago

Yes, it has.

Okay, seems my "heavy witchery" comment was far too harsh, and very little witchery had to actually be done.

Just add this to the end of the cell, and it runs wonderfully. image

which cell do I add this to? And what line am I adding?

seijihariki commented 1 year ago

It's to the end of Start stable-diffusion cell... just before the try.