I was getting a little frustrated with the web interface of dbt cloud, and just wanted to feel more "in control" of my environment. Which lead to this twitter thread:
The process to install dbt on Win10 isn't exactly friendly for an analyst using dbt without engineering experience, so I wanted to share my journey and hopefully make yours easier too.
Step 0: Install Python
Note: These steps have been tested with Python 3.9.6 and earlier. As of October 15th, 2021, Python 3.10.x is not working!
Before you do anything else, install python. Make sure to check the box to "Add Python to PATH". If you don't, you can only run it explicitly.
If you miss this step, you have two options:
1 - re-install of python and check the "Add Python to PATH" box.
2 - manually add the PATH for python; one example linked here.
To confirm it's working, open the command line and enter 'py --version'. It should return the version of python you installed. If you get an error, most likely it is a PATH issue.
Step 1: Install VS Code + MS Build tools
As a quick call out, you need MS Build tools for MSVC v140 or higher, which is an optional component of the C++ build tools.
The MS Build tool install takes a bit of time, so I would do this when you have a little bit of time (15 minutes or so), and you will need to restart your computer.
Step 2: Config your VS Code Environment
There are a few items that need to be done to get VS Code ready for dbt, so I will list them here.
- Open the command palette (Ctrl+Shift+P), and type 'Python: Select Interpreter'. It should then bring up and allow you to select your python interpreter.
- Add the dbt power user plug-in.
- Take a look at this article for more suggested plug-ins from the dbt team.
- Open your command line, and update pip to the latest version with the command 'pip install --upgrade pip'.
- If you get an error here, you may need to run it with the '--user' flag as well, but I got that behavior inconsistently.
Step 3: Install dbt on Win10
If you've made it this far, congrats. If you are finding this article because your 'pip install dbt' isn't working, go back to the top and work through the above steps first.
Note: As of October 15th, 2021, this is paragraph is no longer required, but I've kept it for historical reasons.
In your command line, run the following: 'pip install dbt --no-use-pep517 cryptography'. The dependency chain is broken somewhere and this flag fixes it. Do I know why? No. Do I care? Also, no.
Go ahead and run 'pip install dbt' in your CLI. This takes a few minutes to run (5-10 mins), but when it's done, you can check by running 'dbt --version' in the CLI. It should return the latest version (as of this update, 0.20.1).
Lastly, I recommend running 'dbt init' to set up your initial '.dbt' folder that holds your profiles.yml file to allow you to connect to your data warehouse. If you don't run it, you will just need to create that file by hand later. Since that file contains your credentials, it is best practice to put that in another place outside of your source control.
And with that, you are ready to connect to your repo and begin working on your dbt project. And lastly - share your Ws on twitter!