Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

zsh: command not found: flake8 but flake8 is installed

Tags:

python

zsh

I'm trying to run the flake8 linter on my python code but I am having some issues.

running pip install gives me this response:

~ pip install flake8                                                                                                                                                                                                                                  
Requirement already satisfied: flake8 in ./Library/Python/2.7/lib/python/site-packages
Requirement already satisfied: enum34; python_version < "3.4" in ./Library/Python/2.7/lib/python/site-packages (from flake8)
Requirement already satisfied: configparser; python_version < "3.2" in ./Library/Python/2.7/lib/python/site-packages (from flake8)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./Library/Python/2.7/lib/python/site-packages (from flake8)
Requirement already satisfied: pycodestyle<2.4.0,>=2.0.0 in ./Library/Python/2.7/lib/python/site-packages (from flake8)
Requirement already satisfied: pyflakes<1.6.0,>=1.5.0 in ./Library/Python/2.7/lib/python/site-packages (from flake8)

but then when I try to run it I get this error.

~ flake8 --version                                                                                                                                                                                                                                    
zsh: command not found: flake8

I am using a mac as well if that makes any difference.

Please can anyone help.

like image 243
Thomas Crowley Avatar asked Aug 30 '17 09:08

Thomas Crowley


People also ask

How do I download flake8?

Use the Atom package manager, which can be found in the Settings view or run apm install flake8 from the command line. The package requires the flake8 program to be installed on your system. To install flake8 , run pip install flake8 or easy_install flake8 from the command line.


2 Answers

The flake8 script isn't in your path.

First figure out where it's installed:

pip show -f flake8

You should see the install location, usually something ending in site-packages, and then the list of files - one of which may look like ../../bin/flake8. Apply the relative path to the install location and you'll find the executable's path.

If you're using Homebrew on mac, there's a good chance the executable sits under /usr/local/bin, but in any case you need to add that directory to your PATH (search for "add directory to path in zsh") or specify the full path.

Finally, if the path is in PATH and it still doesn't find it, and you added it to the path just now, consider running rehash which rebuilds zsh's hash of executables in the current PATH.

like image 120
orip Avatar answered Oct 10 '22 02:10

orip


You can use python -m flake8

else

add flake8 to your PATH

like image 37
copie Avatar answered Oct 10 '22 03:10

copie