我似乎无法强制IDLE重新编译代码。这是我简单的设计:
A类和B类,B进口A
当我更改A,然后运行B时,IDLE似乎没有重新编译A并运行旧版本的A.
我该如何解决这个问题? :\
答案 0 :(得分:1)
python tracker上的答案是有人使用带有启动属性 function p() {
p.num = 0;
function gen_next(prev) {
function next() {
return gen_next(next);
}
next.num = prev.num + 1;
return next;
}
return gen_next(p);
}
p().num; // 1
p()().num; // 2
p()()().num; // 3
p()().num; // still 2
p().num; // still 1
的图标启动IDLE。关键问题是/usr/bin/idle-python2.5 -n
的存在,它表示在IDLE过程中运行用户代码。因此,当B在第一次运行后导入A时,A位于IDLE进程的sys.modules中。如果没有-n
,IDLE将在一个新的独立进程中在编辑器(F5)中运行用户代码,其中必须从文件中重新导入A.金显然也有同样的问题。
答案 1 :(得分:0)
您有手动强制保存A (CTRL + S) 然后运行B(这将提示您也保存B) 如果自上次重新编译以来,A已发生变化。