Emacs의 jedi 뷰어 jedi-direx를 사용해보기
소개
시험한 환경에 대해서는 하기.
macOS High Sierra(10.13.2)
25.3.1
0.2.7
2.7.12, 3.6.2
jedi은 Emacs에서 Python을 코딩 할 때 코드 완성, 정의로 이동, 도움말 표시 등을 허용하는 패키지입니다.
(제다이라는 이름이 마음에 든다)
다만, 공식 사이트의 Quick Start대로 해도, 왠지
M-x jedi:install-server
곳에서 에러가 나 버렸으므로, 아래와 같은 사이트를 보면서 pip로 직접 jedi와 epc를 인스톨 했습니다.htp // d. 하테나. 네. jp/응-찬 l/20131220/1387551080
pip로 설치한 jedi와 epc의 버전은 아래와 같습니다.
0.11.1
0.0.5
이 jedi이지만 extension에서 아래와 같은 코드 뷰어가 있으며, 이것이 jedi-direx입니다.
jedi-direx 설치
실제로 jedi-direx를 설치하고 사용해 보았습니다.
먼저 package-install을 사용하여 설치.
M-x package-install RET jedi-direx RET
설치된 버전은
20140310.236
이었습니다.그리고 아래를 .emacs에 추가하고 python 파일을 python-mode로 열어 보았습니다.
(setq jedi:complete-on-dot t)
(define-key python-mode-map "\C-cx" 'jedi-direx:pop-to-buffer)
(define-key python-mode-map "\C-c\C-x" 'jedi-direx:switch-to-buffer)
(add-hook 'jedi-mode-hook 'jedi-direx:setup)
그러나 여기에 다음 오류가 발생했습니다.
deferred error : (error "\"AttributeError(\\\"module 'jedi.api' has no attribute 'defined_names'\\\",)\"")
분명히 jedi를
M-x jedi:install-server RET
대신 pip으로 직접 설치했기 때문에 버전이 맞지 않는 것 같습니다.이 defined_names는 이미 jedi의 0.11.0에서 삭제되었습니다.
htps : // 기주 b. 코 m / tkf / 에마 cs - 지 ぢ / 이스에 s / 293
따라서 0.10.2를 설치.
$ pip uninstall jedi -y
Uninstalling jedi-0.11.1:
Successfully uninstalled jedi-0.11.1
$ pip install jedi==0.10.2
Collecting jedi==0.10.2
Using cached jedi-0.10.2-py2.py3-none-any.whl
Installing collected packages: jedi
Successfully installed jedi-0.10.2
Emacs를 다시 시작하고 다시 시도하면 오류가 발생하지 않았으며 C-cx에서 안전한 jedi-direx 뷰어가 표시되었습니다.
TAB 키로 트리를 확장하고 o 키를 누르면 해당 라인으로 날 수 있습니다.
사용하기 쉽기 때문에 사용하고 싶습니다.
2018/1/8 추가
M-x jedi:install-server
실패한 이유는 단순히 virtualenv가 들어 있지 않기 때문입니다.pip install virtualenv
공식 문서에 기재되어 있다.
수동으로 넣은 패키지를 제거한 후,
pip uninstall jedi epc
M-x jedi:install-server
를 입력하여 성공적으로 설치할 수 있습니다.그건 그렇고, 설치된 파이썬 패키지의 위치는 다음과 같습니다.
.emacs.d/.python-environments
그러나 이 방법으로 설치해도 결국 Emacs의 jedi-core 패키지 내의 jediepcserver.py가 지원되지 않으므로 다음과 같은 오류가 발생합니다.
deferred error : (error "\"AttributeError(\\\"module 'jedi.api' has no attribute 'defined_names'\\\",)\"")
이 건에 대해서는 이미 수정의 풀릭이 나왔습니다.
Reference
이 문제에 관하여(Emacs의 jedi 뷰어 jedi-direx를 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/khiraiwa/items/b97dccd9a8517232de0b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)