Some tools you want to install globally, like poetry. You don't want to install them inside of every virtual environment. You would like to have each tool completely separate, but accessible from each virtual environment.
{shell}pipxdoes exactly that. It creates a new virtual environment, installs the CLI tool and its dependencies into that virtual environment, and adds it to Pythonpath to be accessible from everywhere.
Install pipx
brew install pipx
pipx ensurepath
Install (global) cli tools
We are restricting this to CLI tools, especially tools that might interact with virtual environments or be independent of the actual project. Normal packages, like
{shell}numpyshould be installed inside of every virtual environment.Poetry:
pipx install poetry