--- title: Installation type: guide tier: opensource order: 60 order_enterprise: 0 meta_title: Install and Upgrade Label Studio meta_description: "Label Studio documentation: install and upgrade Label Studio with Docker, pip, and anaconda for your machine learning and data science projects." section: "Install & Setup" --- Install Label Studio on premises or in the cloud. Choose the installation method that works best for your environment: - [Install with pip](#Install-using-pip) - [Install with Docker](#Install-with-Docker) - [Install on Ubuntu](#Install-on-Ubuntu) - [Install from source](#Install-from-source) - [Install with Anaconda](#Install-with-Anaconda) - [Upgrade Label Studio](#Upgrade-Label-Studio) Label Studio is also available an [enterprise product](https://heartex.com/), which you can explore instantly through a [free trial](https://humansignal.com/free-trial). {% insertmd includes/deploy.md %} ### Web browser support Label Studio is tested with the latest version of Google Chrome. If using other web browsers, or older versions of supported web browsers, unexpected behavior could occur. ## Install prerequisite Install Label Studio in a clean Python environment. We highly recommend using a virtual environment (venv or conda) to reduce the likelihood of package conflicts or missing packages. ## Install using pip To install Label Studio with pip and a virtual environment, you need Python version 3.8 or later. Run the following: ```bash python3 -m venv env source env/bin/activate python -m pip install label-studio ``` To install Label Studio with pip, you need Python version 3.8 or later. Run the following: ```bash pip install label-studio ``` After you install Label Studio, start the server with the following command: ```bash label-studio ``` The default web browser will automatically open at [http://localhost:8080](http://localhost:8080) with Label Studio. Please refer to [start Label Studio](start.html) for more options when starting Label Studio. ## Install using Homebrew To install Label Studio with Brew, you need to have Brew package manager installed on your system. If you do not have Brew installed, please visit [brew.sh](https://brew.sh/) for installation instructions. Execute the following command to add the Heartexlabs tap: ```bash brew tap humansignal/tap ``` Execute the following command to install Label Studio: ```bash brew install humansignal/tap/label-studio ``` After you install Label Studio, initiate the server using the following command: ```bash label-studio ``` The default web browser will automatically open at [http://localhost:8080](http://localhost:8080) with Label Studio. Please refer to [start Label Studio](start.html) for more options when starting Label Studio. !!! note If you've previously installed the brew tap from the now-deprecated organization name `heartexlabs/tap`, we've got good news. You don't have to worry about migrating immediately. The deprecated tap has been set up as a mirror for `humansignal/tap`. This ensures continuity and minimizes disruptions for existing users. ## Install with Docker Label Studio is also available as a Docker container. Make sure you have [Docker](https://www.docker.com/) installed on your machine. ### Install with Docker on \*nix To install and start Label Studio at [http://localhost:8080](http://localhost:8080), storing all labeling data in `./mydata` directory, run the following: ```bash docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest ``` !!! attention "important" As this is a non-root container, the mounted files and directories must have the proper permissions for the `UID 1001`. ### Install with Docker on Windows Or for Windows, you have to modify the volumes paths set by `-v` option. #### Override the default Docker install You can override the default Docker install by appending new arguments. In Windows Command Line (cmd): ```bash docker run -it -p 8080:8080 -v %cd%/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio --log-level DEBUG ``` In PowerShell: ```bash docker run -it -p 8080:8080 -v ${PWD}/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio --log-level DEBUG ``` ### Build a local image with Docker If you want to build a local image, run: ```bash docker build -t heartexlabs/label-studio:latest . ``` ### Run with Docker Compose Use Docker Compose to serve Label Studio at `http://localhost:8080`. You must use Docker Compose version 1.25.0 or higher. Start Label Studio: ```bash docker-compose up -d ``` This starts Label Studio with a PostgreSQL database backend. You can also use a PostgreSQL database without Docker Compose. See [Set up database storage](storedata.html). ### Install Label Studio without internet access Download label-studio docker image (host with internet access and docker): ```bash docker pull heartexlabs/label-studio:latest ``` Export it as a tar archive: ```bash docker save heartexlabs/label-studio:latest | gzip > label_studio_latest.tar.gz ``` Transfer it to another VM: ```bash scp label_studio_latest.tar.gz :/tmp ``` SSH into `` and import the archive: ```bash docker image import /tmp/label_studio_latest.tar.gz ``` Follow steps from [Install and Upgrade to run LS](install.html#Install-with-Docker). ## Install on Ubuntu To install Label Studio on Ubuntu and run it in a virtual environment, run the following command: ```bash python3 -m venv env source env/bin/activate sudo apt install python3.9-dev python -m pip install label-studio ``` ## Install from source If you want to use nightly builds or extend the functionality, consider downloading the source code using Git and running Label Studio locally: ```bash git clone https://github.com/HumanSignal/label-studio.git # install dependencies cd label-studio pip install poetry poetry install # run db migrations poetry run python label_studio/manage.py migrate # collect static files poetry run python label_studio/manage.py collectstatic # start the server in development mode at http://localhost:8080 poetry run python label_studio/manage.py runserver ``` ## Install with Anaconda ```bash conda create --name label-studio conda activate label-studio conda install psycopg2 # required for LS 1.7.2 only pip install label-studio ``` ## Upgrade Label Studio To upgrade to the latest version of Label Studio, reinstall or upgrade using pip. ```bash pip install --upgrade label-studio ``` Migration scripts run when you upgrade to version 1.0.0 from version 0.9.1 or earlier. To make sure an existing project gets migrated, when you [start Label Studio](start.html), run the following command: ```bash label-studio start path/to/old/project ``` The most important change to be aware of is changes to rename "completions" to "annotations". See the [updated JSON format for completed tasks](export.html#Raw_JSON_format_of_completed_tasks). If you customized the Label Studio Frontend, see the [Frontend reference guide](frontend_reference.html) for required updates to maintain compatibility with version 1.0.0.