Cygwin에서 Windows Python 사용
최근 Windows에서 Cygwin을 사용하고 있습니다. 선호하는 Windows 설치를 사용하고 있기 때문에 테스트하는 동안 /cygdrive/c/Python26/python.exe myfile.py
내가 사용하고 있습니다 python myfile.exe
.
이것은 인쇄를 제외하고 거의 완벽하게 작동합니다. Cygwin에서 Windows Python을 실행하면 실행이 완료 될 때까지 출력되지 않습니다. explorer.exe 또는 cmd.exe의 Windows Python에서 제대로 실행되고 Cygwin이 Python ( /bin/python.exe
)을 사용하여 Cygwin에서 작동합니다 .
이에 대한 해결 방법이 있습니까? 중요한 것은 Windows 버전을 사용하는 것이지만 Bash에서 모든 작업을 수행하고 싶습니다.
아마도 출력을 플러시하는 경우
import sys
V = range(100000)
for x in V:
print x
sys.stdout.flush()
Cygwin 터미널 프로그램에서 명령을 사용할 때 Windows 콘솔로 작동하지는 것입니다. CMD 또는 Console2와 같은 Windows 콘솔 기반 그렇게합니다. 따라서 Cygwin 터미널에서 Windows python.exe는 대화 형 콘솔과 통신하고 생각하지 않습니다.
이는 모든 대화식 세션에서 수행되는 것처럼 플러시하는 대신 버퍼링 출력으로 이어집니다. 그렇기 때문에 Amro가 모든 줄에 플러시 ()를 추가하면 증상이 해결 코드를 변경해야합니다.
코드를 변경하지 않고 한 가지 해결은 명령 줄에서 '-u'플래그를 사용하거나 PYTHONUNBUFFERED 환경 변수를 설정하여 Python에서 버퍼링을 끄는 것입니다.
export PYTHONUNBUFFERED=1
/cydrive/c/Python27/python.exe foo.py
또는
/cydrive/c/Python27/python.exe -u foo.py
또는 대화 형 모드에서 실행
/cydrive/c/Python27/python.exe -i foo.py
또한 Cygwin 터미널에서 Windows python.exe 대화 형 모드를 사용할 수 없습니다. 대화 형 세션을 오지 않고 그냥 멈을 불러 다. 가장 좋은 해결책은 'cygstart'를 사용하는 것입니다 ( '-i'옵션을 사용하는 것보다 낫습니다).
cygstart /cygdrive/c/Python27/python.exe
그리고 그것은 ipython 작동하는 것입니다 (설치된 경우) :
cygstart /cygdrive/c/Python27/Scripts/ipython.exe
초기 질문에는 없지만 Cygwin 터미널 (예 : mintty)에서 Python 대화 형 세션 을 사용하려는 사용자를 위해 - "-i"옵션으로 Python을 시작하여 대화 형 모드에서 실행해야 함을 명시 적으로 알려줍니다.
$ python -i
깔끔한 방법은 .bashrc에 말하는 것을 만드는 것입니다. (어 · 든 대화 형 터미널 세션에서 읽을 수 있음)
alias python='python -i'
모든 Cygwin pty 기반 터미널 (mintty, rxvt 및 xterm)이 콘솔이 아닌 Windows에서 파이프로 인식되기 때문에 Python은 콘솔에서 실행되는 것을 알지 못합니다. 따라서 Python은 콘솔이 생각하고 비대화 형 모드로 들어갑니다. 따라서 대신 대화 형 모드를 원하면 Python 에이를 사용하도록 명시 적으로 지시해야합니다. 그러나 여전히 작동하지 않습니다. 여전히 HOME 또는 화살표 키 등을 사용할 수 없습니다.
참고 URL : https://stackoverflow.com/questions/3250749/using-windows-python-from-cygwin
'ProgramingTip' 카테고리의 다른 글
will_paginate 정의되지 않은 메소드`total_pages ' (0) | 2020.11.29 |
---|---|
ASCII 문자 정규식 (0) | 2020.11.29 |
제거하는 방법은 무엇입니까? (0) | 2020.11.29 |
Jersey Client를 사용하여 자체 서명 된 SSL 인증서 무시 (0) | 2020.11.29 |
PHP var_dump () 값이 값당 한 줄을 표시하도록 만들기 (0) | 2020.11.29 |