ipython을 원격으로 실행


9

원격으로 (Emacs 24.5 및 native 사용하여) ipython 인터프리터를 실행하려고 python.el하지만 올바른 접근 방법이 있는지 확실하지 않습니다 C-c C-c.

Run Python: /ssh:<server_name>:/usr/local/bin/ipython -i

(와 <server_name>유효한 내에서 항목 ~/.ssh/configipython그 원격 위치에서 구입 가능), 나는 오류를 같이 얻을 :

Warning (emacs): Python shell prompts cannot be detected.
If your emacs session hangs when starting python shells
recover with `keyboard-quit' and then try fixing the
interactive flag for your interpreter by adjusting the
`python-shell-interpreter-interactive-arg' or add regexps
matching shell prompts in the directory-local friendly vars:
  + `python-shell-prompt-regexp'
  + `python-shell-prompt-block-regexp'
  + `python-shell-prompt-output-regexp'
Or alternatively in:
  + `python-shell-prompt-input-regexps'
  + `python-shell-prompt-output-regexps'

만큼 잘:

env: /ssh:<server_name>:/usr/local/bin/ipython: No such file or directory

A의 *Python*버퍼 ..이 만드는 사용으로 tramp하고, python.el같은 방식으로 원격 통역을 실행할 수?

답변:


5

한 가지 방법은을 사용하는 것 *eshell*입니다.

  • M-x eshell
  • cd /ssh:<server_name>:~
  • run-python /usr/bin/ipython
  • *Python*버퍼로 전환하십시오 .

3
이것은 좋지만 파이썬 버퍼에 코드를 보낼 수는 없습니다 . 그 맞습니까?
BakaKuna 2016 년

@BakaKuna 나는 내 대답 확인이 해결
atevm

4

@ serv-inc answear는 가장 좋은 방법입니다.

(setq python-shell-interpreter "ssh yourhost ipython"python-shell-interpreter-args "-간단한 프롬프트 -i")

그러나 여전히 오류와 함께 실패합니다.

No such file or directory, ssh\

경로에서 실행 파일을 참조해야하므로 직접 셸 명령이 재생되지 않지만 래퍼 스크립트를 작성하면 문제가 해결됩니다 remote-python.

#!/usr/bin/env bash
ssh hostname -t "ipython $@"

-t 의사 터미널 할당을 강제합니다.

$@ 수신 된 모든 인수를 원격 ipython에 위임합니다.

이 스크립트는 PATH변수에 정의 된 디렉토리에 있어야합니다 . Emacs에서 다음을 통해 확인할 수 있습니다.

(getenv "PATH")

remot-python통역사로 설정할 수 있습니다 .

(setq python-shell-interpreter "remote-python"
            python-shell-interpreter-args "-i --simple-prompt")

레드 라인 지원에 대한 경고가 표시되는 경우 :

(setq python-shell-completion-native-enable nil)

노트 :

이 방법의 장점은 거의 모든 통역사와 함께 작동해야한다는 것입니다. 또한 julia-mode의 REPL로 테스트했으며 원격 / 로컬 인터프리터를 전환하는 대화식 기능을 작성할 수 있습니다.


그것이 약간 도움이되었다는 것을 아는 것이 좋습니다. 감사합니다
serv-inc

0

평가 (또는 심지어 .emacs)

(setq python-shell-interpreter "ssh yourhost ipython"
      python-shell-interpreter-args "--simple-prompt -i")

파이썬 파일에서 로컬 평가판처럼 사용하십시오.

첫 번째 줄은 리모컨 ipython을 기본 통역사로 설정합니다 . 두 번째 줄은 ipython 문제를 해결합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.