2014-10-02 5 views
2

Мой фрагмент pyflakes flake8 не работает для моего глобального экземпляра python (/usr/bin/python, а не virtualenv).Flake8 не использует pyflakes в глобальном экземпляре python

flake8 --version 
2.2.3 (pep8: 1.5.7, mccabe: 0.2.1) CPython 2.7.5 on Darwin 

Не похоже, что пирофеки прикрепляются к хлопьям8. pip freeze подтверждает, что установлен pyflakes==0.8.1. Я установил на своих глобальных сайтах-пакетах ($ sudo pip install flake8).

Однако, когда вы работаете внутри виртуального, в списке находится pyflakes, а flake8 работает так, как ожидалось.

ответ

2

У меня была аналогичная проблема с чешуйкой conda8. Вот некоторые отладочные примечания:

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.extension» и регистры нашли шашки:

... 
for entry in iter_entry_points('flake8.extension'): 
    checker = entry.load() 
    pep8.register_check(checker, codes=[entry.name]) 
... 

хлопчатобумажная лента conda8, похоже, имеет проблемы с написанием этих точек входа.

from pkg_resources import iter_entry_points 
list(iter_entry_points('flake8.extension')) 

возвращает пустой список для меня, поэтому pyflakes не будет зарегистрирован и, таким образом, не работает, даже если он установлен и ввоз.

Обновление настроек и установка с помощью pip install flake8 устраняет проблему для меня.

+0

У меня такая же проблема, но я не слишком уверен, что вы подразумеваете под «Update setuptools», можете ли вы быть более конкретным? –

+1

@RobertoAguilar, это зависит. Эта ошибка исправлена ​​в новых версиях 'anaconda'. Если вы используете 'anaconda', вы можете просто ввести' conda update flake8'. Если вы используете vanilla python, вы бы отправились с 'pip install --upgrade setuptools', а затем' pip install --upgrade flake8' – cel

+1

Я пробовал команды pip, и теперь flake8 успешно запускает pyflakes, большое спасибо –