How to install Prefect 2.0 on a Linux VM

Installation guide

Troubleshooting tips

Python version

Make sure you are using supported Python version - you can find the minimal version here:

Postgres backend

When using a Postgres backend, make sure to use Postgres version >= 13.

SQLite backend

The main challenge when installing Prefect 2.0 with SQLite backend on Linux is finding the right SQLite version matching the environment (Python version and Linux distribution). Older versions of Linux package a version of SQLite that cannot be used with Prefect 2.0.

Currently, Prefect 2.0 requires SQLite 3.24 or newer.

Here are some options to fix that version mismatch:

  • If you leverage Conda for managing a virtual environment, Conda will identify SQLite version that matches your environment
  • If you don’t want to use Conda, you may install SQLite from source (worst-case scenario, Conda is the recommended option)

For more on database setup, check:

External API backend

Alternatively, you may point your Orion server to an external API by leveraging the PREFECT_API_URL environment variable. This might be a URL of your Cloud 2.0 workspace or an API running elsewhere.

Here is a simple tutorial you may use on AWS EC2:

2 Likes

When you try installing Prefect on Python 3.10 with Conda, make sure to pin this openssl package version:

conda install openssl=1.1.1

Reason: the cryptography package is looking for the libssl 1.1.1 dylib but conda removed it.

More background on this:

https://discourse.prefect.io/t/scaling-prefect-whats-the-difference-between-ephemeral-and-hosted-api/1990

1 Like