-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Silvio,
On 5/11/2010 1:09 PM, Silvio Tschapke wrote: > On 5/11/2010 11:36 AM, Silvio Tschapke wrote: >>>> how do I configure tomcat that it finds the biopython libaries? >>>> Biopython is not included in jython.jar (which I have moved into the >>>> tomcat/lib folder. >> >> You probably want this JAR file in your webapp's WEB-INF/lib directory, >> rather than in Tomcat's global lib directory. >> >>>> Biopython installs itself into the python26/lib/side-packages folder. >> >> Okay, what files does it put in there? >> >> > There is no jar file. In the side-packages folder it puts a root folder Bio > which includes further folders with .py, .pyo, pyc files. Okay, those are Python scripts, compiled/optimized scripts, and compiled scripts. Nothing in there is directly executable, so you probably don't need to mess with your java.library.path setting. > I don't understand this. Do I have to tell Tomcat in a configuration file > where it has to search for python or the libraries? > Biopython works fine with Python outside my webserver. I am not sure if it > works with Jython too. But I thought that Jython works fine with Python and > Biopython is a subpackage so there shouldn'b be any problem. But I am not > sure. You might want to read a bit more about Jython: it does not give you access to the python environment on the local machine. Instead, it is its own environment. Consider reading http://www.jython.org/docs/tutorial/indexprogress.html If "Bio" uses direct C-library calls instead of Python functions, you're out of luck for the time being. Your first step would be to determine if Bio will work with Jython: I recommend getting in touch with the Jython folks to help you figure out how to get Bio working with Jython. After that's working, it shouldn't be difficult to move everything into Tomcat. >> Traceback (most recent call last): >> File "C:/Documents and Settings/silvio/My >> Documents/eclipse_jee_workspace/Test_jee_with_jython/src/jyimplementation/Calculator.py", >> line 2, in <module> >> from Bio import Entrez >> ImportError: No module named Bio > >> org.python.core.PyException.fillInStackTrace(PyException.java:70) So, somewhere there must be a place where you can configure where Jython looks for modules. [...] >> org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:190) >> factory.JythonFactory.getJythonObject(JythonFactory.java:21) >> main.Main.forwardRequest(Main.java:17) It looks like before you call execfile(), you might want to make some other calls on either the PythonInterpreter object, or the PySystemState object it's using, which seems to have something to do with locating modules. >> servlets.MyServlet.doGet(MyServlet.java:36) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > >> If I change the import command in my jython module from "from Bio import >> Entrez" to "import Bio.Entrez" it doesn't work neither. > > >> By the way..what means CNFE? :) That's ClassNotFoundException, which is a Java exception. You're not getting that exception, but a different one from the Python interpreter. Don't worry: you gave me what I was looking for. So, it just looks like you need to figure out how to tell Jython that the Bio libraries are under .../lib/side-packages. I think you're going to have to ask the Jython folks. Good luck, - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkvpmNsACgkQ9CaO5/Lv0PAESQCcC4gjP3G9QUM5L7hAnmb1iPlg yOQAnjI8fXrcGPUyl+QJm/DUaf1ocbp+ =v3t/ -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org