2005年04月08日 星期五 16:26
你装的是j2se还是j2re,我用的是j2se 1.4.2,没有问题哇 -----Original Message----- From: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] On Behalf Of python_user Sent: Friday, April 08, 2005 4:15 PM To: python-chinese Subject: [python-chinese] jython编译出错 python-chinese我的系统是windows XP SP2、sun J2se 1.4.2.07、Jython 2.1 ------------------------------------------------------------------------ --------- C:\jython21\Demo\applet>c:\jython21\jythonc --core --deep --jar appletdemo.jar * .py processing ButtonDemo processing pawt.__init__ processing ButtonFontDemo processing CheckboxDemo processing ChoiceDemo processing Converter processing CoordinatesDemo processing HelloApplet processing HelloWorld processing LabelDemo processing ListDemo Required packages: java.applet java.awt.event Creating adapters: java.awt.event.WindowListener used in __init__ java.awt.event.ItemListener used in ChoiceDemo, ListDemo java.awt.event.ActionListener used in ButtonDemo, ButtonFontDemo, ListDemo java.awt.event.MouseListener used in CoordinatesDemo Creating .java files: HelloWorld module HelloWorld extends java.applet.Applet ButtonFontDemo module ButtonFontDemo extends java.applet.Applet HelloApplet module HelloApplet extends java.applet.Applet __init__ module ButtonDemo module ButtonDemo extends java.applet.Applet LabelDemo module LabelDemo extends java.applet.Applet CheckboxDemo module CheckboxDemo extends java.applet.Applet ChoiceDemo module ChoiceDemo extends java.applet.Applet ListDemo module ListDemo extends java.applet.Applet Converter module ConversionPanel extends java.awt.Panel implements java.awt.event.ActionListe ner, java.awt.event.AdjustmentListener, java. awt.event.ItemListener Converter extends java.applet.Applet CoordinatesDemo module CoordinateArea extends java.awt.Canvas FramedArea extends java.awt.Panel CoordinatesDemo extends java.applet.Applet Compiling .java to .class... Compiling with args: ['C:\\Program Files\\Java\\j2re1.4.2_07\\bin\\javac', '-cla sspath', 'C:\\jython21\\jython.jar;;.\\jpywork;;C:\\jython21\\Tools\\jythonc;C:\ \jython21\\Demo\\applet\\.;C:\\jython21\\Lib;C:\\jython21', '.\\jpywork\\HelloWo rld.java', '.\\jpywork\\ButtonFontDemo.java', '.\\jpywork\\HelloApplet.java', '. \\jpywork\\pawt\\__init__.java', '.\\jpywork\\ButtonDemo.java', '.\\jpywork\\Lab elDemo.java', '.\\jpywork\\CheckboxDemo.java', '.\\jpywork\\ChoiceDemo.java', '. \\jpywork\\ListDemo.java', '.\\jpywork\\Converter.java', '.\\jpywork\\Coordinate sDemo.java'] 1 java.io.IOException: CreateProcess: "C:\Program Files\Java\j2re1.4.2_07\bin\j avac" -classpath C:\jython21\jython.jar;;.\jpywork;;C:\jython21\Tools\jythonc;C: \jython21\Demo\applet\.;C:\jython21\Lib;C:\jython21 .\jpywork\HelloWorld.java .\ jpywork\ButtonFontDemo.java .\jpywork\HelloApplet.java .\jpywork\pawt\__init__.j ava .\jpywork\ButtonDemo.java .\jpywork\LabelDemo.java .\jpywork\CheckboxDemo.ja va .\jpywork\ChoiceDemo.java .\jpywork\ListDemo.java .\jpywork\Converter.java .\ jpywork\CoordinatesDemo.java error=2 Consider using the -C/--compiler command line switch, or setting the property python.jythonc.compiler in the registry. ERROR DURING JAVA COMPILATION... EXITING C:\jython21\Demo\applet> ------------------------------------------------------------------------ --------- 这是为什么? python_user python_user at yahoo.com.cn 2005-04-08
2005年04月08日 星期五 16:28
lifr: 在O'Relly的Python语言编程一本中提到过这个,不过这不是“优化措施”。 ======= 2005-04-08 15:53:50 lifr wrote: ======= >终于调试出来了,用了Pythonwin(为什么,最终还是要用我最不想用的*win*). >问题是这样开始的: >我发现我的一个xml到object的转换程序转换出来的结果总是不正确,具体是一个 >list的对象多了(一些本不应该在这个list里面出现的object也在这个lit里面出 >现) >这个转换程序由于有交叉的递归调用,所以特别难调试,我用过print >statemetn,pdb,idle,pythonwin。 > >折腾了几乎一天,刚才终于发现了“罪魁祸首”,那就是python compiler 的某种 >优化措施"搞的鬼" >1 如果你的某个class的__init__的某个缺省参数是一个list,且用[]赋初值,那 >么很可能会出现每一个使用了缺省参数初始化的object都“共享”了同一个list. >2 同样的情况出现在递归调用的函数上。 >3 同样的情况也出现在map上,也就是缺省参数是map > >这绝对不是你想要的!!! > >我给出一个例子: >=============================exp1 >def loop(i, l=[]): > if i<=0: return > print id(l) > loop(i-1) > >loop(4) >>>>>>>>output>>>>>>>>>> >19538688 >19538688 >19538688 >19538688 >=============================exp2 >def loop(i): > if i<=0: return > l = [] > print id(l) > loop(i-1) > >loop(4) >>>>>>>>output>>>>>>>>>> >19538688 >19538288 >19538808 >19538608 > >我不知道这是不是一个 known-issue,反正把我是害苦了,写出来让不知道的朋友 >不要在犯这样的错。 >我的解决办法是用这样的表达式: >def __init__(self, argList=None): > self.myList = argList or [] >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > = = = = = = = = = = = = = = = = = = = = Bruce Who whoonline at msn.com 2005-04-08
2005年04月08日 星期五 16:55
的确不是优化造成的。而是python的特点,一次装入或一次执行。象导入模块,导入过一次,下次不再导入。函数缺省参数,初始化一次,不再初始化第二次。 On Apr 8, 2005 4:28 PM, Bruce Who <whoonline at msn.com> wrote: > lifr: > > 在O'Relly的Python语言编程一本中提到过这个,不过这不是"优化措施"。 > > ======= 2005-04-08 15:53:50 lifr wrote: ======= > > >终于调试出来了,用了Pythonwin(为什么,最终还是要用我最不想用的*win*). > >问题是这样开始的: > >我发现我的一个xml到object的转换程序转换出来的结果总是不正确,具体是一个 > >list的对象多了(一些本不应该在这个list里面出现的object也在这个lit里面出 > >现) > >这个转换程序由于有交叉的递归调用,所以特别难调试,我用过print > >statemetn,pdb,idle,pythonwin。 > > > >折腾了几乎一天,刚才终于发现了"罪魁祸首",那就是python compiler 的某种 > >优化措施"搞的鬼" > >1 如果你的某个class的__init__的某个缺省参数是一个list,且用[]赋初值,那 > >么很可能会出现每一个使用了缺省参数初始化的object都"共享"了同一个list. > >2 同样的情况出现在递归调用的函数上。 > >3 同样的情况也出现在map上,也就是缺省参数是map > > > >这绝对不是你想要的!!! > > > >我给出一个例子: > >=============================exp1 > >def loop(i, l=[]): > > if i<=0: return > > print id(l) > > loop(i-1) > > > >loop(4) > >>>>>>>>output>>>>>>>>>> > >19538688 > >19538688 > >19538688 > >19538688 > >=============================exp2 > >def loop(i): > > if i<=0: return > > l = [] > > print id(l) > > loop(i-1) > > > >loop(4) > >>>>>>>>output>>>>>>>>>> > >19538688 > >19538288 > >19538808 > >19538608 > > > >我不知道这是不是一个 known-issue,反正把我是害苦了,写出来让不知道的朋友 > >不要在犯这样的错。 > >我的解决办法是用这样的表达式: > >def __init__(self, argList=None): > > self.myList = argList or [] > >_______________________________________________ > >python-chinese list > >python-chinese at lists.python.cn > >http://python.cn/mailman/listinfo/python-chinese > > > > = = = = = = = = = = = = = = = = = = = = > > > Bruce Who > whoonline at msn.com > 2005-04-08 > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- I like python! My Donews Blog: http://www.donews.net/limodou My Sina Blog: http://blog.sina.com.cn/blog/1148608914 New Google Maillist: http://groups-beta.google.com/group/python-cn
Zeuux © 2025
京ICP备05028076号