InvokeAI/docs/installation/020_INSTALL_MANUAL.md
mauwii 7ca8abb206
integrate required changes
- 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
2023-02-01 01:17:24 +01:00

6.9 KiB

title
Installing Manually

:fontawesome-brands-linux: Linux | :fontawesome-brands-apple: macOS | :fontawesome-brands-windows: Windows

!!! 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:

  1. 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
    
  2. 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.

  3. From within the InvokeAI top-level directory, create and activate a virtual environment named .venv and prompt displaying InvokeAI:

    python -m venv .venv \
        --prompt InvokeAI \
        --upgrade-deps
    source .venv/bin/activate
    
  4. Make sure that pip is installed in your virtual environment an up to date:

    python -m ensurepip \
        --upgrade
    python -m pip install \
        --upgrade pip
    
  5. Install Package

    pip install --use-pep517 .
    
  6. 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 and invokeai 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 using python scripts/configure_invokeai.py and python 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).
    
  7. Run the command-line- or the web- interface:

    Activate the environment (with source .venv/bin/activate), and then run the script invokeai. 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.
    
  8. 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.

  9. 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 a command 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.

  1. 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
    
  2. Now follow steps 3 to 5 in the PIP recipe, ending with the pip install step.

  3. Run one additional step while you are in the source code repository directory

    pip install --use-pep517 . # note the dot in the end!!!
    
  4. 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!)