Install and First Run#

Before we build anything, let’s get Flask-Commands installed and make sure the command is available in your terminal. This part is intentionally short so you can get to the fun part quickly.

Install the Prerequisites#

Install The Prerequisites for Flask-Commands Unwatched

Which local tools Flask-Commands expects, why pipx and npm matter, and how to check that your machine is ready before installing the package.

If the embed does not load, watch on YouTube: Install The Prerequisites for Flask-Commands.

Before installing Flask-Commands, I recommend having two tools available on your machine:

  • pipx

  • npm

If you use Homebrew, both are easy to install. If Homebrew is not installed, visit the official Homebrew site first.

Because Flask-Commands plugs into Flask’s CLI, the recommended way to install this package is through a global pipx install that also exposes dependency apps. You can check whether pipx is installed by running:

pipx --version

If that prints a version number, you are all set. If the command is not found, you can follow the official pipx installation guide. On macOS with Homebrew, that usually looks like this:

brew install pipx
pipx ensurepath

You will also want npm available because the generated Flask project includes Tailwind CSS tooling. To check whether npm is installed, run:

npm --version

If that prints a version number, you are good to go. If not, you will need to install Node.js because npm comes with Node.js. Install Node.js from the official Node.js download page or the unofficial community installation using Homebrew:

brew install node

Install Flask-Commands with pipx#

Install Flask-Commands with pipx Unwatched

The recommended install path for keeping the Flask-Commands plugins available globally without mixing the package into a project environment.

If the embed does not load, watch on YouTube: Install Flask-Commands with pipx.

pipx install Flask-Commands --include-deps

This is the recommended way to install Flask-Commands. pipx keeps the installation isolated and makes Flask’s flask command, with Flask-Commands extras, available anywhere.

What is --include-deps doing? Flask-Commands is a Flask CLI plugin. pipx needs to expose Flask’s flask executable from the installed dependencies so your plugin commands appear under the real Flask CLI.

Note

To update Flask-Commands later, run:

pipx upgrade Flask-Commands

After upgrading, you can confirm the installed version with:

flask commands -v

Tip

If the flask command is not available after installation, reinstall with:

pipx install Flask-Commands --include-deps --force

Install Flask-Commands with pip#

Install Flask-Commands with pip Unwatched

The plain pip installation path, when it is acceptable, and what tradeoffs it has compared to the recommended pipx setup.

If the embed does not load, watch on YouTube: Install Flask-Commands with pip.

Alternatively, if you prefer not to use pipx, you can install Flask-Commands with pip. This can be done either globally or inside a virtual environment. Even with a pip install, you will still want npm installed so Tailwind CSS works in the generated Flask project.

pip install Flask-Commands

There are two common ways people handle a pip install.

If you install Flask-Commands inside a virtual environment, that environment must be activated any time you want to use Flask-Commands through Flask’s CLI. That can be a little awkward for flask new, because the environment where Flask-Commands is installed may live in a different place from the Flask app you want to create.

flask new myproject

A second approach would be to install Flask-Commands globally with pip, then the command will be available system-wide. This is more convenient, but it also adds packages directly to your machine’s Python environment, which is why pipx is still the recommended option.

So pip absolutely works, but pipx is usually the smoother choice for this package because Flask-Commands is meant to be available as a global scaffolding tool.

Confirm the Command with --version#

Confirm the command with version Unwatched

How to verify that Flask-Commands is installed through Flask's CLI using `flask commands --version`, and how that differs from `flask --version`.

If the embed does not load, watch on YouTube: Confirm the command with version.

Once Flask-Commands is installed, the quickest way to confirm the plugin is available is to check its version directly:

flask commands -v

You can also use:

flask commands --version

That confirms two useful things right away:

  • Flask-Commands is installed

  • your shell can find the plugin through Flask’s CLI

For most people, checking the version is the first “yes, it worked” moment after installation.

Notice that Flask-Commands is not exposed as a separate top-level executable. Instead Flask-Commands plugs into Flask’s CLI, which means there are two useful version checks:

flask --version        # Flask version
flask commands -v      # Flask-Commands version

Read the CLI at a Glance with --help#

Read the CLI at a glance with help Unwatched

See how Flask-Commands appears inside Flask's help output, and how to find specific Flask-Commands help documentation.

If the embed does not load, watch on YouTube: Read the CLI at a glance with help.

Once you know Flask-Commands is installed, the next step is to look at the commands it adds to Flask’s CLI.

To see the full command list, run:

flask --help

This is the command that shows the Flask-Commands commands alongside Flask’s built-in commands.

If you run flask --help outside a Flask project, Flask may also print a message saying it could not locate an application. That is normal. The help output still shows the commands Flask-Commands has registered.

To inspect an individual Flask-Commands command in more detail, run:

flask new --help
flask make:view --help
flask make:controller --help
flask make:model --help

This gives you a quick overview of the command surface and helps you see that Flask-Commands is intentionally small and focused.

A short help screen is a good sign. It usually means the tool is trying to help you build faster, not trap you in a long-term relationship with sixteen subcommands and an identity crisis.

Now that the command is working, let’s create a project and give Flask-Commands something real to build on.