Have you ever encountered the error message “zsh: command not found: python” while working with your terminal? I remember the frustration I felt when I first encountered this problem.

It prevented me from running Python scripts or using Python-related packages in my terminal. As someone relying heavily on Python for scripting and data analysis, I knew I needed a solution to fix this issue.

In this article, I will share the solutions I found to solve the “zsh: command not found: python” error, so you can avoid the headache I went through.

Understanding the Problem

Before diving into the solutions, it’s important to understand the problem at hand. First, let me explain what the zsh shell is. Zsh is an alternative shell to the default bash shell on Unix-based systems.

It offers many improvements, such as better auto-completion and syntax highlighting, making it a popular choice among developers.

Now, let’s talk about the $PATH variable. The $PATH variable is an environment variable that contains a list of directories separated by colons. It tells the shell where to look for executable files when executing a command.

When we type a command in the terminal, the shell looks through each directory in the $PATH variable until it finds the executable file for the command.

So, what does the error message “zsh: command not found: python” mean? It means the zsh shell cannot find the Python executable file in any of the directories listed in the $PATH variable.

This could be due to various reasons, which we’ll discuss in the next section.

How to Fix zsh: command not found: python

Solution 1: Add the Python Path to the $PATH Variable

The first solution involves adding the path to the Python installation directory to the $PATH variable. Here are the steps to do this:

  • First, find the path to the Python executable file by running this command:
which python3
  • This will output the path to the Python executable file, which should look something like /usr/bin/python3.
  • Next, open your shell configuration file. This configuration file is called .zshrc and is located in your home directory. You can open it by running this command:
nano ~/.zshrc
  • At the end of the configuration file, add this line:
export PATH="$PATH:/usr/bin/python3"
  • Reload the profile by running this command:
source ~/.zshrc

You should now be able to run Python commands and scripts without encountering the “zsh: command not found: python” error.

Related: The Ultimate Guide to ZSH History

Solution 2: Reinstall Python3

If the above solution doesn’t work, you may need to reinstall Python3. Here are the steps to do this:

On Linux:

  • Uninstall Python3 by running this command:
sudo apt-get remove python3
  • Install Python3 by running this command:
sudo apt-get install python3
  • Check that Python3 has been installed correctly by running this command:
 python3 --version

This should output the version number of Python3.

On macOS:

brew install python
  • Create an alias in your .zshrc configuration file to start Python by typing python. In the terminal, run this command:
echo "alias python=/usr/bin/python3" >> ~/.zshrc
  • Restart your terminal.

Following these steps, you should have successfully resolved the “zsh: command not found: python” error. Congratulations!


I hope you found these solutions helpful in fixing the “zsh: command not found: python” error. Whether you’re a developer or a data analyst, Python is an essential tool, and using it in your terminal is important.

By adding the Python path to the $PATH variable, updating the zsh configuration file, or reinstalling Python3, you can now use Python commands and scripts without encountering any errors.

Don’t let technical errors hinder your productivity, and keep on coding.

Tim Miller

Tim has always been obsessed with computers his whole life. After working for 25 years in the computer and electronics field, he now enjoys writing about computers to help others. Most of his time is spent in front of his computer or other technology to continue to learn more. He likes to try new things and keep up with the latest industry trends so he can share them with others.

Leave a Comment