- also remove conda related things - rename `invoke` to `invokeai` - rename `configure_invokeai` to `invokeai-configure` - rename venv back to common `.venv` but add `--prompt InvokeAI` - remove outdated information
6.9 KiB
title |
---|
Installing Manually |
!!! warning "This is for advanced Users"
**python experience is mandatory**
Introduction
You have two choices for manual installation. The first one uses
basic Python virtual environment (venv
) command and pip
package manager. The
second one uses Anaconda3 package manager (conda
). Both
methods require you to enter commands on the terminal, also known as the
"console".
Note that the conda
installation method is currently deprecated and will not
be supported at some point in the future.
On Windows systems, you are encouraged to install and use the PowerShell, which provides compatibility with Linux and Mac shells and nice features such as command-line completion.
pip Install
To install InvokeAI with virtual environments and the PIP package manager, please follow these steps:
-
Please make sure you are using Python 3.9 or 3.10. The rest of the install procedure depends on this and will not work with other versions:
python -V
-
Clone the InvokeAI source code from GitHub:
git clone https://github.com/invoke-ai/InvokeAI.git
This will create InvokeAI folder where you will follow the rest of the steps.
-
From within the InvokeAI top-level directory, create and activate a virtual environment named
.venv
and prompt displayingInvokeAI
:python -m venv .venv \ --prompt InvokeAI \ --upgrade-deps source .venv/bin/activate
-
Make sure that pip is installed in your virtual environment an up to date:
python -m ensurepip \ --upgrade python -m pip install \ --upgrade pip
-
Install Package
pip install --use-pep517 .
-
Set up the runtime directory
In this step you will initialize a runtime directory that will contain the models, model config files, directory for textual inversion embeddings, and your outputs. This keeps the runtime directory separate from the source code and aids in updating.
You may pick any location for this directory using the
--root_dir
option (abbreviated --root). If you don't pass this option, it will default to~/invokeai
.configure_invokeai \ --root_dir ~/Programs/invokeai
The script
invokeai-configure
will interactively guide you through the process of downloading and installing the weights files needed for InvokeAI. Note that the main Stable Diffusion weights file is protected by a license agreement that you have to agree to. The script will list the steps you need to take to create an account on the site that hosts the weights files, accept the agreement, and provide an access token that allows InvokeAI to legally download and install the weights files.If you get an error message about a module not being installed, check that the
invokeai
environment is active and if not, repeat step 5.Note that
invokeai-configure
andinvokeai
should be installed under your virtual environment directory and the system should find them on the PATH. If this isn't working on your system, you can call the scripts directory usingpython scripts/configure_invokeai.py
andpython scripts/invoke.py
.!!! tip
If you have already downloaded the weights file(s) for another Stable Diffusion distribution, you may skip this step (by selecting "skip" when prompted) and configure InvokeAI to use the previously-downloaded files. The process for this is described in [here](050_INSTALLING_MODELS.md).
-
Run the command-line- or the web- interface:
Activate the environment (with
source .venv/bin/activate
), and then run the scriptinvokeai
. If you selected a non-default location for the runtime directory, please specify the path with the--root_dir
option (abbreviated below as--root
):!!! example ""
!!! warning "Make sure that the virtual environment is activated, which should create `(invokeai)` in front of your prompt!" === "CLI" ```bash invoke.py --root ~/Programs/invokeai ``` === "local Webserver" ```bash invoke.py --web --root ~/Programs/invokeai ``` === "Public Webserver" ```bash invoke.py --web --host 0.0.0.0 --root ~/Programs/invokeai ``` If you choose the run the web interface, point your browser at http://localhost:9090 in order to load the GUI.
!!! tip
You can permanently set the location of the runtime directory by setting the environment variable INVOKEAI_ROOT to the path of the directory.
-
Render away!
Browse the features section to learn about all the things you can do with InvokeAI.
Note that some GPUs are slow to warm up. In particular, when using an AMD card with the ROCm driver, you may have to wait for over a minute the first time you try to generate an image. Fortunately, after the warm-up period rendering will be fast.
-
Subsequently, to relaunch the script, activate the virtual environment, and then launch
invokeai
command. If you forget to activate the virtual environment you will most likeley receive acommand not found
error.!!! tip
Do not move the source code repository after installation. The virtual environment directory has absolute paths in it that get confused if the directory is moved.
Creating an "install" version of InvokeAI
If you wish you can install InvokeAI and all its dependencies in the runtime
directory. This allows you to delete the source code repository and eliminates
the need to provide --root_dir
at startup time. Note that this method only
works with the PIP method.
-
Follow the instructions for the PIP install, but in step #2 put the virtual environment into the runtime directory. For example, assuming the runtime directory lives in
~/Programs/invokeai
, you'd run:python -m venv ~/Programs/invokeai
-
Now follow steps 3 to 5 in the PIP recipe, ending with the
pip install
step. -
Run one additional step while you are in the source code repository directory
pip install --use-pep517 . # note the dot in the end!!!
-
That's all! Now, whenever you activate the virtual environment,
invokeai
will know where to look for the runtime directory without needing a--root_dir
argument. In addition, you can now move or delete the source code repository entirely.(Don't move the runtime directory!)