Python Setup
Perform the following to install/configure Python & package management tools.
Note
All commands below are to be run as your user. (i.e. not root/sudo/Administrator).
- Ensure you have a working python environment:
- On macOS:
Note: Substitute
.bash_profile
in place of.zshrc
below if using Bash (e.g. macOS pre-Catalina)Add local python bin directories to $PATH:
PYTHONVER=$(python3 -c "import sys;print(str(sys.version_info.major)+'.'+str(sys.version_info.minor))") if ! grep -s '\.local\/bin' ~/.zshrc > /dev/null 2>&1 || ! grep -s "Library\/Python\/$PYTHONVER/bin" ~/.zshrc > /dev/null 2>&1 ; then echo "export PATH=\"\$HOME/Library/Python/$PYTHONVER/bin:\$HOME/.local/bin:\$PATH\"" >> ~/.zshrc; fi
Run
source ~/.zshrc
to use the updated PATH.
- On Windows:
- Install Python (choose the latest
Windows x86-64 executable installer
and run it): On the initial setup page, click
Customize installation
Leave all Optional Features selected, and click Next
- On the Advanced Options page change the following options and click Install:
Check the
Install for all users
andAdd Python to environment variables
options.Change the install location to
C:\Python37
(updatingPython37
to the appropriate directory for the installed version, e.g.Python39
for Python 3.9)
At the
Setup was successful
screen, clickDisable path length limit
and then close the setup program.
- Install Python (choose the latest
- Edit the Path environment variable for your user:
In the Start Menu, start typing
environment variables
and selectEdit environment variables for your account
.In the User variables for your username, select
Path
and clickEdit...
- Append
%USERPROFILE%\AppData\Roaming\Python\Python37\Scripts
&%USERPROFILE%\.local\bin
to the current Variable values and click Ok Change
Python37
to the appropriate directory for the installed version (e.g.Python39
for Python 3.9)In Windows Server 2016, the value is shown in a single line – add it with semicolons:
%USERPROFILE%\AppData\Roaming\Python\Python37\Scripts;%USERPROFILE%\.local\bin;
- Append
Click Ok to close the Environment Variables window.
Close all existing PowerShell windows and launch a new one to use the updated PATH.
- On Ubuntu Linux:
Add local python bin directory to $PATH:
if ! grep 'HOME\/\.local\/bin' ~/.bash_profile > /dev/null 2>&1; then echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bash_profile; fi
Run
source ~/.bash_profile
to use the updated PATH.Install Python 3 and dependencies:
sudo apt -y install python3-pip
Install python package managers:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
Package Installation
Afterwards, your user will be able to install additional Python packages using one of the following tools. Each wraps the base pip package manager and automatically manages virtual environments to ensure package dependencies don’t conflict.
pipx
Global CLIs & utilities, like the AWS CLI, can be installed via pipx:
pipx install awscli
poetry
Utilities used in a project should generally have their versions stored in the project repository, so users (now and in the future) and remote build systems use the same versions specified in the repo.
poetry works similarly to pipx, but creates a lockfile that can be checked into a repo:
poetry add --dev runway