대화형 모드에서 Python3이 표시되지 않음

대화형 모드에서 Python3이 표시되지 않음

업무용 컴퓨터에 Python3이 설치되어 있습니다.

Python 3.4.3 (default, May  3 2016, 09:46:33) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.

대화형 편집기가 작동하지 않습니다. 예를 들어, emacs를 사용하여 시퀀스를 제어할 수 없습니다. 줄의 시작 부분으로 이동하는 대신 "^A"만 표시합니다.

이 기능은 여기에 언급되어 있습니다:

https://docs.python.org/3.4/tutorial/interactive.html

그것은 말한다:

Some versions of the Python interpreter support editing of the 
current input line and history substitution, similar to facilities 
found in the Korn shell and the GNU Bash shell. This is implemented 
using the GNU Readline library, which supports various styles of 
editing. 

문서에서는 이 기능을 활성화해야 하는지, 어떤 버전의 Python 인터프리터가 편집을 지원하는지, 또는 GNU Readline 라이브러리가 작동하지 못하게 하는 빌드 프로세스(Python3이 소스에서 빌드되었다고 가정)에 일부 문제가 있는지 여부를 설명하지 않습니다. 또한 이 문제를 해결하는 방법을 알아보기 위해 Google에서 많이 검색했지만 운이 없었습니다.

신기하게도 같은 컴퓨터에 Python 2가 설치되어 있고 대화형 편집을 지원합니다. 또한 내 집 컴퓨터에 설치된 Python 3도 제대로 실행됩니다.

답변1

저는 이 문제를 연구하고 대화형 편집 방법을 알아낸 기술 담당자입니다. yum을 통한 문제는 운영 체제가 Python을 너무 많이 사용하기 때문에 yum(회사 정책)을 통해 업데이트할 수 없다는 것입니다.

Python 3.4.3을 컴파일해야 합니다.원천. 컴파일하고 설치한 후 누락된 패키지를 모두 추가해야 했습니다. 이 특별한 가방은 gnureadline. Readline은 더 이상 사용되지 않습니다. 패키지를 빌드하고 설치하는 데 수행한 단계는 다음과 같습니다(CentOS 6.7용).

  1. wget https://pypi.python.org/pypi/gnureadline/6.3.3
  2. tar -xzvf gnureadline-6.3.3.tar.gz
  3. cd gnureadline-6.3.3
  4. python3 setup.py install

    노트: 여기서 문제가 발생했습니다 /usr/bin/ld: cannot find –lncurses. /usr/bin/ld –lncurses --verbose검색 중인 경로에 라이브러리가 없음을 발견했습니다 . 심볼릭 링크를 만들었고 작동했습니다. 오류가 발생하지 않으면 마지막 단계로 건너뛰세요.

  5. ln -s /lib64/libncurses.so.5.7 /usr/lib64/libncurses.so

  6. python3 setup.py install
  7. 확인 ctrl-a및 화살표 키를 사용하여 행 주위를 이동할 수 있습니다.

관련 정보