
The preferred installation method for pyenv and pyenv-virtualenv is brew. However, Airflow v2.3.2 and dbt v1.1.0 have conflicting libraries, so you have to follow best practices for this demo. Note: Sometimes you can get away with not using virtual environments.
Airflow docker run parameters install#
For this demo, we will use Pyenv to install Python, and Pyenv Virtualenv (an extension of Pyenv) for managing Python Virtual Environments. You need extra software to manage the shell environment for package dependencies. Mobile apps are compiled into a single binary file, whereas Python packages are a collection of text files. The app contains everything it needs, even if this means every app on the device has a copy of the same library.ĭbt and Airflow are Python Packages, and Python Packages do not work like mobile apps. For example, even if the Lyft and Uber apps both use a few of the same libraries, they don’t share those libraries from some shared location. If you’ve used an iOS or Android device, you might intuit that mobile apps are self-contained. For this reason, dbt and Airflow will be installed directly on your machine. SSH communication across containers is a complex topic and requires extra configuration in both Airflow and Docker. If we ran these apps in containers, the only way Airflow could run dbt-CLI commands would be to connect the Airflow container to the dbt container over SSH. The open-source version of dbt is a command-line tool. For this demo, we will not be running dbt or Airflow in containers like we did with Postgres.
