在Python 2.7中,每次开始IDLE时,如何在不键入\__future__ division
的情况下使IDLE应用程序使用from \__future__ import division
?
如果我将from \__future__ import division
放在我的.idlestartup文件的顶部,它将被忽略,即使执行了.idlestartup中的其他内容。例如:
~> cat >.idlestartup
from __future__ import division
print("Executing .idlestartup")
~> idle -s
这是我尝试分割后我的IDLE窗口的样子:
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
>>>
我正在使用Mac OS X 10.9.5 Mavericks(在早期版本的OS X上也遇到了同样的问题)。请注意,包含上面的命令行版本是为了更容易显示我正在谈论的内容,但我更感兴趣的版本是从GUI运行IDLE应用程序。
下面的Ashwini Chaudhary建议的解决方案是从命令行运行Anaconda版本,但不是用于运行IDLE应用程序。
通过添加" sys.argv.insert(1,' -Qnew')"我终于能够在IDLE应用程序中自动运行未来部门。到/Applications/IDLE.app/Contents/MacOS/IDLE。这和Ashwini Chaudhary在下面的解决方案都显得很脆弱。我想知道是否有更清洁的方式。
答案 0 :(得分:2)
在__future__
顶部添加/usr/lib/python2.7/idlelib/PyShell.py
语句为我完成了这项工作。
我在Ubuntu上,其他操作系统的路径可能会有所不同:
>>> import idlelib
>>> idlelib.PyShell.__file__
'/usr/lib/python2.7/idlelib/PyShell.py'