From 9629931433024e656d3540d797a6395d44d51560 Mon Sep 17 00:00:00 2001 From: AUTOMATIC1111 <16777216c@gmail.com> Date: Tue, 1 Nov 2022 14:52:24 +0300 Subject: [PATCH] Updated Developing extensions (markdown) --- Developing-extensions.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Developing-extensions.md b/Developing-extensions.md index 52addd3..32acc54 100644 --- a/Developing-extensions.md +++ b/Developing-extensions.md @@ -2,6 +2,7 @@ An extension is just a subdirectory in the `extensions` directory. Web ui interacts with installed extensions in the following way: +- extension's `install.py` script, if it exists, is executed. - extension's scripts in the `scripts` directory are executed as if they were just usual user scripts, except: - `sys.path` is extended to include the extension directory, so you can import anything in it without worrying - you can use `scripts.basedir()` to get the current extension's directory (since user can name it anything he wants) @@ -9,3 +10,13 @@ Web ui interacts with installed extensions in the following way: - extension's `style.css` file is added to the page For how to develop custom scripts, which usually will do most of extension's work, see [Developing custom scripts](Developing-custom-scripts). + +## install.py +`install.py` is the script that is launched by the `launch.py`, the launcher, in a separate process before webui starts, and it's meant to install dependencies of the extension. The script is launched with `PYTHONPATH` environment variable set to webui's path, so you can just `import launch` and use its functionality: + +```python +import launch + +if not launch.is_installed("aitextgen"): + launch.run_pip("install aitextgen==0.6.0", "requirements for MagicPrompt") +```