[Jython-users] Importing a python script and evaluating it using
another python script, using jython
From: Heshan S. <hes...@gm...> - 2008-03-25 11:50:52
|
Hi I am having 2 python scripts named methodFinder.py and test1.py . Then wrote another script and it is like below *What I want is:* import test import methodFinder methodFinder.classify(test) The above code works perfectly fine in python . I wanted to do this in jython and I did like following and it started to give errors on the import statements . How could I correct this ? Is there an alternative way to import user defined python modules and use them with another python modules, in jython? *What I did was :* PythonInterpreter interp2 = new PythonInterpreter(); String str3 = "/home/heshan/workspace/IdeaProjects/PYtest/src/methodFinder.py"; String str4 = "/home/heshan/workspace/IdeaProjects/PYtest/src/test1.py"; interp2.execfile(str3); interp2.eval("echo()"); //Works fine interp2.execfile(str4); interp2.eval("getTime()"); //Works fine interp2.exec("import test1"); //Gives errors interp2.exec("import methodFinder"); //Gives errors PyObject pyObj = interp2.eval("methodFinder.classify(test1)"); System.out.println("The methods returned are : " + pyObj); If anyone can help I will be grateful . Thanx in advance Heshan Suriyaarachchi |
From: Alan K. <jyt...@xh...> - 2008-03-25 12:14:42
|
[Heshan] > I am having 2 python scripts named methodFinder.py and test1.py . Then > wrote another script and it is like below [snip] > interp2.exec("import test1"); //Gives errors > interp2.exec("import methodFinder"); //Gives errors It will be a lot easier for us to help you figure out what is going wrong if you tell us what the errors are. Alan. |
From: Heshan S. <hes...@gm...> - 2008-03-25 13:30:15
|
Hi This is the error which I am getting Exception in thread "main" Traceback (innermost last): File "<string>", line 1, in ? ImportError: no module named test1 Heshan Suriyaarachchi |
From: Alan K. <jyt...@xh...> - 2008-03-25 14:40:29
|
[Heshan] > Hi > This is the error which I am getting > > Exception in thread "main" Traceback (innermost last): > File "<string>", line 1, in ? > ImportError: no module named test1 OK, the error is an ImportError, so jython is not finding your module. Have you set the python.path variable in your jython "registry" file, to point to the directory that contains your modules? See here for more info on python.path and the registry http://www.jython.org/docs/registry.html http://www.jython.org/Project/userfaq.html#my-modules-can-not-be-found-when-imported-from-an-embedded-application Alan. |
From: David H. <Dav...@sa...> - 2008-03-25 15:04:13
|
The Java code that you posted earlier did an "execfile" on test1.py, but I didn't see where it put test1.py on the Python path. Add code to import sys and print sys.path, that will help. From: jyt...@li... [mailto:jyt...@li...] On Behalf Of Heshan Suriyaarachchi Sent: Tuesday, March 25, 2008 9:30 AM Cc: jyt...@li... Subject: Re: [Jython-users] Importing a python script and evaluating it using another python script, using jython Hi This is the error which I am getting Exception in thread "main" Traceback (innermost last): File "<string>", line 1, in ? ImportError: no module named test1 Heshan Suriyaarachchi |
From: Heshan S. <hes...@gm...> - 2008-03-26 04:44:27
|
I am working on ubuntu 7.10 and using IntellijIdea as my IDE and I am working with adding the jython.jar to my project class path . I have not added an entry to the PATH variable in .bashrc file. Following is what I got when I added these two lines to my code interp.exec("import sys"); interp.exec("print sys.path"); ['/home/heshan/Installations/jython_installer-2.2.1/Lib', '__classpath__'] On Tue, Mar 25, 2008 at 8:33 PM, David Handy <Dav...@sa...> wrote: > The Java code that you posted earlier did an "execfile" on test1.py, but > I didn't see where it put test1.py on the Python path. Add code to import > sys and print sys.path, that will help. > > > |
From: Heshan S. <hes...@gm...> - 2008-03-26 06:34:32
|
Hi Finally I manually copied the two python scripts to the following classpath /home/heshan/Installations/jython_installer-2.2.1/Lib Then the java code executed properly.But the problem now I am having is that every time if I introduce a new python module I must copy it to the classpath. Is there a better way that I can do this programatically? |
From: Alan K. <jyt...@xh...> - 2008-03-26 08:50:32
|
[Heshan] > Finally I manually copied the two python scripts to the following > classpath > > /home/heshan/Installations/jython_installer-2.2.1/Lib Don't do that, otherwise you'll be making things difficult for yourself. > Then the java code executed properly.But the problem now I am having is > that every time if I introduce a new python module I must copy it to the > classpath. As I mentioned yesterday, use the setting of the "python.path" variable in the jython registry. Add the directory containing your jython files to the value of the python.path variable, like this python.path = /home/heshan/my_modules/ Or wherever your modules live. > Is there a better way that I can do this programatically? You should not need to do that in these circumstances, if you get your environment set up properly. But there can be circumstances where the contents of path can only be set at runtime. In those cases, it is done like this import sys sys.path.append("/home/heshan/my_modules") Alan. |
From: Heshan S. <hes...@gm...> - 2008-03-27 03:48:37
|
Thanx guys I got my problem solved. thank you very much for your valuable advice and suggestions. Heshan Suriyaarachchi |
From: josu <jo...@we...> - 2008-03-27 11:28:34
|
Hi I am interested in the possibility of use command-style definitions(vs. function-style). This is, I want to known if it is possible this kind of commands in jython, for instance >>> ls -- and not ls() -- ACKNOWLEDGMENTS CPythonLib Demo Doc LICENSE.txt Lib Misc NEWS NOTICE.txt README.txt Tools bugtests build build.Lib.include.properties build.xml dist maven registry src >>> Thanks josu |
From: Pekka L. <pe...@ik...> - 2008-03-27 13:13:59
|
2008/3/27, josu <jo...@we...>: > I am interested in the possibility of use command-style definitions(vs. > function-style). This is, > > I want to known if it is possible this kind of commands in jython, for > instance > > >>> ls -- and not ls() -- > ACKNOWLEDGMENTS > CPythonLib > Demo The only way to get this done in the normal interpreter that I know is the following hack which doesn't even support arguments. Jython 2.2 on java1.6.0_03 Type "copyright", "credits" or "license" for more information. >>> import os >>> >>> class LS: ... def __repr__(self): ... return '\n'.join(os.listdir('.')) ... >>> >>> ls = LS() >>> >>> ls .bashrc .bash_history .bash_profile .emacs [snip] Depending on your needs you'd probably be better of using cmd module. Take a look at the module documentation at [1] or an example at [2]. I haven't tested cmd on Jython but at least "import cmd" works. [1] http://docs.python.org/lib/module-cmd.html [2] http://effbot.org/librarybook/cmd.htm Cheers, .peke |
From: Shail G. <sh...@ho...> - 2008-03-27 17:22:26
|
Refer IPython: http://ipython.scipy.org/moin/About There is auto-quoting feature: using ',' as the first character forces auto-quoting of the rest of the line: 'my_function a b' automatically becomes 'my_function("a","b")'. Thanks Shail > Date: Thu, 27 Mar 2008 12:28:15 +0100 > From: jo...@we... > CC: jyt...@li... > Subject: [Jython-users] Command style > > Hi > > I am interested in the possibility of use command-style definitions(vs. > function-style). This is, > > I want to known if it is possible this kind of commands in jython, for > instance > > >>> ls -- and not ls() -- > ACKNOWLEDGMENTS > CPythonLib > Demo > Doc > LICENSE.txt > Lib > Misc > NEWS > NOTICE.txt > README.txt > Tools > bugtests > build > build.Lib.include.properties > build.xml > dist > maven > registry > src > >>> > > Thanks > > josu > > > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users _________________________________________________________________ Watch “Cause Effect,” a show about real people making a real difference. Learn more. http://im.live.com/Messenger/IM/MTV/?source=text_watchcause |
From: josu <jo...@we...> - 2008-03-27 11:56:59
|
Hi again Just a simple question. Is it possible to change the current dir for the jython console? thanks josu |
From: David H. <Dav...@sa...> - 2008-03-27 15:20:20
|
Jython can only do what Java can do. My understanding is that Java can't change the current directory. I googled "Java chdir" and and the first hit was a page explaining this. David H -----Original Message----- From: jyt...@li... [mailto:jyt...@li...] On Behalf Of josu Sent: Thursday, March 27, 2008 7:57 AM To: jyt...@li... Subject: [Jython-users] Simple question Hi again Just a simple question. Is it possible to change the current dir for the jython console? thanks josu ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Frank W. <fwi...@gm...> - 2008-04-07 14:50:59
|
On Thu, Mar 27, 2008 at 11:19 AM, David Handy <Dav...@sa...> wrote: > Jython can only do what Java can do. > > My understanding is that Java can't change the current directory. This is true for Jython 2.2.* and back. but... things are a bit more complicated in Jython's trunk -- it is true that the JVM provides no ability to do a true change directory. In trunk, Jython now pretends that the directory can be changed (through os.chdir) and keeps track for Jython internals (so file access from within Jython like open() behave as if the directory is changed). This *does not* change the behavior from the java libraries -- so from the perspective of (say) java.io.* the current working directory still cannot be changed. -Frank |