Flake8 не использует pyflakes в глобальном экземпляре python
Моя часть pyflakes flake8 не работает для моего глобального экземпляра python (/usr/bin/python
, а не virtualenv).
flake8 --version
2.2.3 (pep8: 1.5.7, mccabe: 0.2.1) CPython 2.7.5 on Darwin
Не похоже, что pyflakes привязывается к flake8. pip freeze
подтверждает, что pyflakes==0.8.1
установлен. Я установил на своем глобальном сайте-пакеты ($ sudo pip install flake8
).
Однако, когда вы работаете внутри virtualenv, pyflakes находится в списке, и flake8 работает, как и ожидалось.
1 ответ:
У меня была похожая проблема с flake8 стадион conda по. Вот некоторые замечания по отладке:
Flake8 регистрирует проверку pyflakes в своем файле
setup.py
:setup( ... entry_points={ 'distutils.commands': ['flake8 = flake8.main:Flake8Command'], 'console_scripts': ['flake8 = flake8.main:main'], 'flake8.extension': [ 'F = flake8._pyflakes:FlakesChecker', ], }, ...
При проверке файла flake8 загружает зарегистрированные точки входа для ' flake8.расширение ' и регистры найденных шашек:
... for entry in iter_entry_points('flake8.extension'): checker = entry.load() pep8.register_check(checker, codes=[entry.name]) ...
У flake8 Конды, похоже, есть проблемы с написанием этих точек входа.
from pkg_resources import iter_entry_points list(iter_entry_points('flake8.extension'))
Возвращает пустой список для меня, поэтому pyflakes не будет зарегистрирован и, следовательно, не работает, даже если он устанавливается и импортируется.
Обновление setuptools и установка через
pip install flake8
исправляет эту проблему для меня.