From: Robert W. B. <rb...@di...> - 2001-11-25 18:05:10
|
Note: moved to jython-users On Fri, 23 Nov 2001, Bhavani wrote: > Here I am making use of BioPython Api to fetch the Gene details > thro NCBI Database server. If it is in Python environment it works > fine. But If I convert that Python class to Java class using the > Jython tool and try to run java (python) class it is throwing an > exception Disclaimer: I'm unqualified to comment on BioPython specifically. I assume "Jython tool" means jythonc, and that "Python environment" means running as a script with jython rather that with CPython. Is that right? If so, it is likely just a bad/missing python.home when using the compiled classes. > Exception details are below: > --------------------------------------- > Error in GeneSearch > > Java Traceback: > > at org.python.core.Py.ImportError(Py.java) > at org.python.core.imp.importFromAs(Compiled Code) > at org.python.core.imp.importFrom(imp.java) > at GeneSearch$_PyInner.main$4(GeneSearch.java:169) > at GeneSearch$_PyInner.call_function(GeneSearch.java:58) > at org.python.core.PyTableCode.call(Compiled Code) > at org.python.core.PyCode.call(PyCode.java) > at org.python.core.imp.createFromCode(imp.java) > at org.python.core.Py.initProxy(Compiled Code) > at GeneSearch.__initProxy__(GeneSearch.java:227) > at GeneSearch.<init>(GeneSearch.java:205) > at GeneSearchTest.main(Compiled Code) > Traceback (innermost last): > File "D:\jython2.1\SampleProj\GeneSearch.py", line 0, in main > ImportError: cannot import name GenBank try printing your sys.path variable and the python.home property. If they are wrong, try setting python.home in the command line with Java's -D switch (-Dpython.home=D:\jython2.1). > ***** Here GenBank is present in Biopython API and is going to > installed seperately into python directory after installing python > I have installed the Biopython api in the Lib direcotry of python > and even updated the python.path to point to the respective > directory both in registry file of jython as well as the environmental > settings > > Can you suggest me what are other settings I have to make to > make use of BioPython along with Jython If you've compiled GeneSearch.py with jythonc without switches, try running it with something like this: java -Dpython.home=D:\jython2.1 -cp D:\jython2.1\jython.jar;. GeneSearch alternatively, you can statically compile the script so that you there's no need to rely on Jython's Lib. jythonc --deep --jar gs.jar GeneSearch.py java -cp gs.jar;D:\jython2.1\jython.jar GeneSearch If this is not helpful, reply with following info: 1. which jythonc switches you used 2. add debug print statements to look at python.home and sys.path, and include their output in your reply: import sys, java print sys.path print java.lang.System.getProperty("python.home") -robert |