Issue1383
Created on 2009-06-19.15:45:03 by tzellman, last changed 2014-06-25.16:05:20 by zyasoft.
File name |
Uploaded |
Description |
Edit |
Remove |
JythonTest.java
|
bvan,
2012-03-02.00:24:21
|
Import Test for javax.mail |
|
|
msg4824 (view) |
Author: (tzellman) |
Date: 2009-06-19.15:45:02 |
|
I am using the Jython 2.5 release posted on SourceForge.
I am embedding the interpreter inside my Java code.
Code that worked perfectly under Jython 2.2 is now failing with an
ImportError. Jython is failing to find Java-based modules after I import
* from a parent package. For example:
from my.java.package import *
from my.java.package.checks import *
from my.java.package.actions import *
Jython fails with this error message:
"ImportError: No module named checks"
If I instead strip out the * imports and import objects directly from
the modules, everything works normally.
A little more insight into what I am doing: I create the interpreter,
then pass it a string of Python code that essentially loads a
directory/module where Jython plug-in scripts are located. Those scripts
then import java modules available within the current Java process.
|
msg5454 (view) |
Author: Frank Wierzbicki (fwierzbicki) |
Date: 2010-01-25.16:21:32 |
|
Hi tzellman: I know you submitted this bug a long time ago, but if you are still around, if you could upload test (as small as possible would help) that shows off this bug I can take a look at it.
|
msg5455 (view) |
Author: (tzellman) |
Date: 2010-01-26.15:46:03 |
|
Thanks for responding Frank. I actually just tried 3 different methods of calling/importing python from within Java. You can view what I tested here: http://gist.github.com/286908
For my simple test case, using Jython 2.5.1 worked as expected. :)
I also tried Jython 2.5.0, which, aside from not having the interpreter.compile() method, did NOT work. So, it looks like the problem I was having in Jython 2.5.0 were fixed since then. Jython 2.5.0 gives this error stacktrace:
Execing: test.py
0.0715102502628
Traceback (most recent call last):
File "test.py", line 9, in <module>
run()
File "test.py", line 6, in run
print Utils2.randomString(10)
LookupError: no codec search functions registered: can't find encoding
at org.python.core.PyException.fillInStackTrace(PyException.java:70)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Exception.java:29)
at java.lang.RuntimeException.<init>(RuntimeException.java:32)
at org.python.core.PyException.<init>(PyException.java:46)
at org.python.core.PyException.<init>(PyException.java:43)
at org.python.core.PyException.<init>(PyException.java:61)
at org.python.core.codecs.lookup(codecs.java:80)
at org.python.core.codecs.getEncoder(codecs.java:209)
at org.python.core.codecs.encode(codecs.java:187)
at org.python.core.PyString.str_encode(PyString.java:2429)
at org.python.core.PyString.encode(PyString.java:2424)
at org.python.core.StdoutWrapper.print(StdoutWrapper.java:111)
at org.python.core.StdoutWrapper.println(StdoutWrapper.java:203)
at org.python.core.Py.println(Py.java:1329)
at org.python.pycode._pyx0.run$1(test.py:6)
at org.python.pycode._pyx0.call_function(test.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:117)
at org.python.core.PyFunction.__call__(PyFunction.java:307)
at org.python.pycode._pyx0.f$0(test.py:9)
at org.python.pycode._pyx0.call_function(test.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1197)
at org.python.core.__builtin__.execfile_flags(__builtin__.java:538)
at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:156)
at gist.JythonTest.runFile(JythonTest.java:25)
at gist.JythonTest.main(JythonTest.java:84
|
msg5935 (view) |
Author: Steve Tanimoto (sltanimoto) |
Date: 2010-08-02.18:27:32 |
|
Here is a further comment on this. I am also embedding the interpreter (2.5.1 release). When I execute
import javax.imageio
It works on a Macbook Pro running Leopard.
On Windows Vista, if I do it in the Jython shell (not the embedded interpreter) it also works.
But (still on Windows Vista) in the embedded interpreter, it fails with:
ImportError: No module named imageio
As reported by tzellmann, I can work around this by using
import javax.imageio.ImageIO as ImageIO
and that works OK.
|
msg6786 (view) |
Author: Brian (bvan) |
Date: 2012-03-02.00:24:20 |
|
Hi,
Hopefully I didn't botch this report up... this is my first time reporting here. I'm pretty sure this is the same bug I'm experiencing, so I thought I'd go ahead and add my test.
Basically, it fails on executing:
from javax.mail import *
Succeeds for:
from javax.mail import Session
...*and then* seems okay after I use the more explicit import if I revert to the * import:
from javax.mail import *
javax.mail has only classes and packages/directories, no mixed files, in it's path.
I think you'll need javax.mail for this test added to the classpath, I used version 1.4.1.
|
msg7747 (view) |
Author: Frank Wierzbicki (fwierzbicki) |
Date: 2013-02-25.20:04:35 |
|
Assigning to myself so hopefully I finally get to this.
|
msg8694 (view) |
Author: Jim Baker (zyasoft) |
Date: 2014-06-19.01:01:43 |
|
This sounds like the well known problem that Jython cannot import in such a fashion if it has not scanned and built the package cache. See http://stackoverflow.com/questions/1681849/why-does-jython-refuse-to-find-my-java-package
|
|
Date |
User |
Action |
Args |
2014-06-25 16:05:20 | zyasoft | set | status: pending -> closed |
2014-06-19 01:01:43 | zyasoft | set | status: open -> pending resolution: invalid messages:
+ msg8694 nosy:
+ zyasoft |
2013-02-25 20:04:35 | fwierzbicki | set | priority: high assignee: fwierzbicki messages:
+ msg7747 versions:
+ Jython 2.5, - 2.5.2 |
2012-03-02 00:24:21 | bvan | set | files:
+ JythonTest.java nosy:
+ bvan messages:
+ msg6786 versions:
+ 2.5.2 |
2010-08-02 18:27:34 | sltanimoto | set | nosy:
+ sltanimoto messages:
+ msg5935 |
2010-06-18 04:51:46 | akong | set | nosy:
+ akong |
2010-01-26 15:46:04 | tzellman | set | messages:
+ msg5455 |
2010-01-25 16:21:33 | fwierzbicki | set | nosy:
+ fwierzbicki messages:
+ msg5454 |
2009-06-19 15:45:03 | tzellman | create | |
|