2016-09-20 2 views
0

나는 emacs24을 실행 중이며 emacs를 처음 사용합니다. 나는 파이썬 2.7에서 어떤 코드를 flycheck으로 검사하고있다.flycheck : 정의되지 않은 이름 'xrange'

error F821 undefined name 'xrange' (python-flake8) 

내가 xrange이 Python3에없는 것을 이해하지만, 여기 파이썬 2.7에있어 : ​​나는 구문을 검사 할 때 , 나는 얻는다. 나는 raw_input도 같은 오류를 발생시키기 때문에 파이썬 3에서 실행되도록 구성되었다고 생각합니다.

어떻게 수정합니까?

답변

0

Flycheck 그것은이 exec-path에 발견하고, 귀하의 경우 처음 flake8를 실행 실행됩니다 파이썬이 파이썬 3의 차이에 대해 상관하지 않는다, 그것은 분명히 당신이 필요 파이썬 3

에 대한 설치 flake8입니다 Python 2 용 flake8을 설치하고 대상 디렉토리를 exec-path 또는 M-x flycheck-set-checker-executable에 넣어 실행 파일을 가리 킵니다.

프로젝트에 전용 Python 2 virtualenv를 사용하고 이맥스를 만들고 파이썬 버퍼에 Directory Variables과 같이 python-shell-virtualenv-root을 해당 디렉토리로 설정하는 것이 좋습니다. 그런 다음 exec-path을 해당 virtualenv로 지정할 수 있습니다. 약간 custom Emacs Lisp으로 자동화 할 수도 있습니다.

0

동일한 문제로 어려움을 겪고 있었고 그 이유는 내 솔루션을 사용하는 것이 좋습니다. https://github.com/rmuslimov/flycheck-local-flake8. 그것은 사소한 일이며 - 강제로 flycheck use flake8 virtualenv에서 실행 가능합니다.

여러분이 작업하는 각 파이썬 프로젝트에 setup.cfg을 추가하는 것이 좋습니다. Flake8에는 정의 될 수있는 환경 변수가 있습니다.

[metadata] 
name=fastttrace 
version=release.5.9.0 

[flake8] 
exclude = tests/*, migrations/* 
ignore = D100,D101,D102,D103,D205,D400,E731 
import-order-style = google 
max-complexity = 15 

그것은 다른 devs를 함께 공유 할 수있는 편리한 방법 인, 당신은 프로젝트 당 별도의 flake8 규칙을 가지고 REPO에 저장할 수 있습니다 : 여기 예를 들어 광산이다.

관련 문제