To successfully install MindsDB, use Python 64-bit version. Also, make sure that Python >= 3.8 and pip >= 20.3.

Installation using the Python venv Module

  1. Create a new virtual environment called mindsdb:

    python -m venv mindsdb
    

    Now, activate it:

    source mindsdb/bin/activate
    
  2. Once inside the virtual environment, run the command below to mitigate the dependency issues:

    pip install --upgrade pip setuptools wheel
    
  3. Install MindsDB:

    pip install mindsdb
    
  4. Start MindsDB:

    python -m mindsdb
    

    By default, MindsDB will always start the http and mysql APIs. If you want to use Mongo API, you will need to provide that as a parameter to --api. You can do it as following:

    python -m mindsdb --api=http,mongodb,mysql
    

Installation using Anaconda

Here, you need either Anaconda or Conda installed on your machine.

  1. Open Anaconda prompt and create a new virtual environment:

    conda create -n mindsdb
    

    Now, activate it:

    conda activate mindsdb
    
  2. Once inside the virtual environment, run the command below to mitigate the dependency issues:

    pip install --upgrade pip setuptools wheel
    
  3. Install MindsDB:

    pip install mindsdb
    
  4. Start MindsDB:

    python -m mindsdb
    

    By default, MindsDB will always start the http and mysql APIs. If you want to use Mongo API, you will need to provide that as a parameter to --api. You can do it as following:

    python -m mindsdb --api=http,mongodb,mysql
    

Dependencies

The dependencies for many of the data or ML integrations are not installed by default.

If you want to use a data or ML integration whose dependencies are not available by default, install it by running this command:

pip install 'mindsdb[handler_name]'

You can find all available handlers here.

Troubleshooting

Pip and Python Versions

Currently, MindsDB supports Python versions 3.8.x, 3.9.x, 3.10.x, and 3.11.x.

To successfully install MindsDB, use Python 64-bit version. Also, make sure that Python >= 3.8 and pip >= 20.3. You can check the pip and python versions by running the pip --version and python --version commands.

Please note that depending on your environment and installed pip and python packages, you might have to use pip3 instead of pip or python3.x instead of py. For example, pip3 install mindsdb instead of pip install mindsdb.

How to Avoid Dependency Issues

Install MindsDB in a virtual environment using pip to avoid dependency issues.

Or you could try to install MindsDB with Anaconda and run the installation from the Anaconda prompt.

How to Avoid Common Errors

MindsDB requires around 3 GB of free disk space to install all of its dependencies. Make sure to allocate min. 3 GB of disk space to avoid the IOError: [Errno 28] No space left on device while installing MindsDB error.

Before anything, activate your virtual environment where your MindsDB is installed. It is to avoid the No module named mindsdb error.

Some users can get OSError: dlopen Library not loaded 'libomp.dylib'. Please make sure you have installed libomp and run the export commands.

brew install libomp
export LDFLAGS="-L/usr/local/opt/libomp/lib"
export CPPFLAGS="-I/usr/local/opt/libomp/include"

How to Overcome ImportError: failed to find libmagic

If you get the ImportError: failed to find libmagic error, you should install the libmagic manually by running the command below:

brew install libmagic

Further Issues?

You can try to replicate your issue using the Docker setup.

Also, please create an issue with detailed description in the MindsDB GitHub repository so we can help you. Usually, we review issues and respond within a few hours.

What’s Next

Now that you installed and started MindsDB locally in your Docker container, go ahead and find out how to create and train a model using the CREATE MODEL statement. In the MindsDB SQL section, you’ll find a comprehensive overview of the SQL syntax offered by MindsDB. We also provide Mongo-QL syntax documented in the MindsDB Mongo-QL section.

You can connect MindsDB to different clients, including PostgreSQL CLI and MySQL CLI.

Check out the Use Cases section to follow tutorials that cover Large Language Models, Natural Language Processing, Time Series, Classification, and Regression models.