Message7074

Author conflatedauto
Recipients conflatedauto
Date 2012-04-30.08:37:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1335775072.83.0.363836574489.issue1879@psf.upfronthosting.co.za>
In-reply-to
Content
jython -m broken for scripts inside jar files

The workaround jython -c "import module; module.blah()" will work, but not if you don't have a blah function.

This is jy.bat


Version 2.5.2

C:\Working\working>java -classpath C:\Working\tools\maven\repository2\org\robotf
ramework\robotframework\2.7.1\robotframework-2.7.1.jar;C:\Working\tools\maven\re
pository2\tools\tools-core\1.3.1-SNAPSHOT\tools-core-1.3.1-SNAPSHOT.jar org.python
.util.jython
Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_26
Type "help", "copyright", "credits" or "license" for more information.

C:\Working\working>jy -m editor.vimgen

C:\Working\working>java -classpath C:\Working\tools\maven\repository2\org\robotf
ramework\robotframework\2.7.1\robotframework-2.7.1.jar;C:\Working\tools\maven\re
pository2\tools\tools-core\1.3.1-SNAPSHOT\tools-core-1.3.1-SNAPSHOT.jar org.python
.util.jython -m editor.vimgen
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Working\tools\maven\repository2\org\robotframework\robotframework\2.7
.1\robotframework-2.7.1.jar\Lib\runpy.py", line 88, in run_module
AttributeError: 'ClasspathPyImporter' object has no attribute 'get_code'
C:\Working\working>jy -m editor/vimgen

C:\Working\working>java -classpath C:\Working\tools\maven\repository2\org\robotf
ramework\robotframework\2.7.1\robotframework-2.7.1.jar;C:\Working\tools\maven\re
pository2\tools\tools-core\1.3.1-SNAPSHOT\tools-core-1.3.1-SNAPSHOT.jar org.python
.util.jython -m editor/vimgen
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Working\tools\maven\repository2\org\robotframework\robotframework\2.7
.1\robotframework-2.7.1.jar\Lib\runpy.py", line 88, in run_module
AttributeError: 'ClasspathPyImporter' object has no attribute 'get_code'
C:\Working\working>jy -m editor/blah

Looking at the source it seems that ClasspathPyImporter is indeed lacking this method.


No such module is a different, correct error:

C:\Working\working>java -classpath C:\Working\tools\maven\repository2\org\robotf
ramework\robotframework\2.7.1\robotframework-2.7.1.jar;C:\Working\tools\maven\re
pository2\tools\tools-core\1.3.1-SNAPSHOT\tools-core-1.3.1-SNAPSHOT.jar org.python
.util.jython -m editor/blah
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Working\tools\maven\repository2\org\robotframework\robotframework\2.7
.1\robotframework-2.7.1.jar\Lib\runpy.py", line 87, in run_module
ImportError: No module named editor/blah



Still present under the latest beta release

C:\Working\working>jy -m editor/vimgen

C:\Working\working>rem set JYTHON=C:\Working\tools\maven\repository2\org\robotfr
amework\robotframework\2.7.1\robotframework-2.7.1.jar

C:\Working\working>set JYTHON=C:\Working\tools\jython\jython2.5.3b1\jython.jar

C:\Working\working>java -classpath C:\Working\tools\jython\jython2.5.3b1\jython.
jar;C:\Working\tools\maven\repository2\tools\tools-core\1.3.1-SNAPSHOT\tools-core-
1.3.1-SNAPSHOT.jar org.python.util.jython -m editor/vimgen
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Working\tools\jython\jython2.5.3b1\Lib\runpy.py", line 88, in run_mod
ule
    code = loader.get_code(mod_name)
AttributeError: 'ClasspathPyImporter' object has no attribute 'get_code'



Works for local scripts

C:\Working\working>dir *.py
 Volume in drive C has no label.
 Volume Serial Number is 7402-3955

 Directory of C:\Working\working

04/30/2012  11:11 AM                15 test.py
               1 File(s)             15 bytes
               0 Dir(s)  208,984,723,456 bytes free

C:\Working\working>jy -m test

C:\Working\working>rem set JYTHON=C:\Working\tools\maven\repository2\org\robotfr
amework\robotframework\2.7.1\robotframework-2.7.1.jar

C:\Working\working>set JYTHON=C:\Working\tools\jython\jython2.5.3b1\jython.jar

C:\Working\working>java -classpath C:\Working\tools\jython\jython2.5.3b1\jython.
jar;C:\Working\tools\maven\repository2\tools\tools-core\1.3.1-SNAPSHOT\tools-core-
1.3.1-SNAPSHOT.jar org.python.util.jython -m test
test.py


This is jy.bat just to show there is nothing weird there. Jython 2.5.2 was the version disted with the robot framework.

rem set JYTHON=%M2_REPO%\org\robotframework\robotframework\2.7.1\robotframework-
2.7.1.jar
set JYTHON=C:\Working\tools\jython\jython2.5.3b1\jython.jar


java -classpath %JYTHON%;%M2_REPO%\ets\tools-core\1.3.1-SNAPSHOT\tools-core-1.3.
1-SNAPSHOT.jar org.python.util.jython %1 %2 %3
History
Date User Action Args
2012-04-30 08:37:52conflatedautosetrecipients: + conflatedauto
2012-04-30 08:37:52conflatedautosetmessageid: <1335775072.83.0.363836574489.issue1879@psf.upfronthosting.co.za>
2012-04-30 08:37:52conflatedautolinkissue1879 messages
2012-04-30 08:37:52conflatedautocreate