I had a similar problem with conda's flake8. Here are some debugging notes:
flake8 registers the pyflakes checker in its setup.py
file:
setup(
...
entry_points={
'distutils.commands': ['flake8 = flake8.main:Flake8Command'],
'console_scripts': ['flake8 = flake8.main:main'],
'flake8.extension': [
'F = flake8._pyflakes:FlakesChecker',
],
},
...
When checking a file, flake8 loads the registered entry points for 'flake8.extension' and registers found checkers:
...
for entry in iter_entry_points('flake8.extension'):
checker = entry.load()
pep8.register_check(checker, codes=[entry.name])
...
conda's flake8 seems to have problems writing those entry points.
from pkg_resources import iter_entry_points
list(iter_entry_points('flake8.extension'))
returns an empty list for me, which is why pyflakes won't be registered and thus does not work, even though it is installed and importable.
Updating setuptools and installing via pip install flake8
fixes the problem for me.