2014-11-17 7 views
3

Python 2.7에서 유휴 상태로 시작할 때마다 수동으로 from \__future__ import division을 입력하지 않고 IDLE 앱을 사용하려면 \__future__ division을 사용하면됩니까?IDLE 시작 파일에서 __future__ division을 사용하려면 어떻게해야합니까?

내 .idlestartup 파일의 맨 위에 from \__future__ import division을 넣으면 .idlestartup의 다른 것들이 실행 되더라도 무시됩니다. 예를 들어 : 또한 OS의 이전 버전에서 동일한 문제를 겪고 난 맥 OS X 10.9.5 매버릭스를 (사용하고

Python 2.7.8 |Anaconda 2.1.0 (x86_64)| (default, Aug 21 2014, 15:21:46) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin 
Type "copyright", "credits" or "license()" for more information. 
>>> 
Executing .idlestartup 
>>> 2/3 
0 
>>> 

을 :

~> cat >.idlestartup 
from __future__ import division 
print("Executing .idlestartup") 
~> idle -s 

은 여기 내 IDLE 윈도우 내가 분할 시도 후 모습입니다 엑스). 위의 커맨드 라인 버전은 제가 말하고자하는 것을 더 쉽게 보여주기 위해 포함되었지만, 더 관심있는 버전은 GUI에서 IDLE 앱을 실행하는 것입니다.

아래 Ashwini Chaudhary가 제안한 해결책은 명령 줄에서 Anaconda 버전을 실행했지만 IDLE 앱을 실행하는 데는 효과가 없었습니다.

IDLE 응용 프로그램에서 /Applications/IDLE.app/Contents/MacOS/IDLE에 "sys.argv.insert (1, '-Qnew')"를 추가하여 미래의 분할을 자동으로 수행 할 수있었습니다. 저와 Ashwini Chaudhary의 해결책은 모두 부서지기 쉬운 것처럼 보입니다. 더 깨끗한 방법이 있는지 궁금합니다.

+0

당신이 파일에'인쇄 5/3'를 넣어 당신이 실제로 처음에 작동 볼하지만 어떻게 든 –

+0

이후 오버라이드 (override)됩니다 경우 이 문제는 고칠 수있는 버그 일 수 있습니다.이 질문에 대한 링크가있는 CPython 추적기 문제 [22893] (http://bugs.python.org/issue22893)를 열었습니다. –

+0

이 문제는 셸에서만 문제가됩니다. 나중에 가져 오기를 편집하는 파일에 넣을 수 있습니다. 대화식으로, 분자 또는 분모를 리터럴에'.0'을 추가하거나'float()'로 싸서 플로트 할 수 있습니다. 또는 3.x로 업그레이드 할 수 있습니다. –

답변

2

__future__ 진술을 /usr/lib/python2.7/idlelib/PyShell.py 상단에 추가하면 저에게 도움이되었습니다. 내가 우분투 오전

이 경로는 다른 OS에 따라 다를 수 있습니다

>>> import idlelib 
>>> idlelib.PyShell.__file__ 
'/usr/lib/python2.7/idlelib/PyShell.py' 
+0

새로운 2.7.z 버그 수정 버전으로 업그레이드 한 후 stdlib 파일에 사용자 정의 패치를 다시 실행해야한다는 것을 기억하십시오. –

+0

편집 /anaconda/lib/python2.7/idlelib/PyShell.py는 명령 줄 (현재 anaconda 버전을 실행하고 있음)에서 유휴 - 실행 문제를 해결했지만 유휴 상태에서 문제를 해결하지 못했습니다. 앱. 나는 IDS 앱에서 사용하는 것으로 확인한 PyShell.py /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/idlelib에서 같은 편집 작업을 시도했지만, 그러나 그것은 작동하지 않았다. (실제로 IDLE은 시작되지 않을 것입니다. sudo를 사용하여 생성하더라도 .pyc 파일이 이전의 것과 다릅니다.) – user1772388