From: <Amm...@su...> - 2008-11-20 09:47:40
|
Hi I am new to Jython/Python and was wondering how I can access my jython code from within java (both as a script and embedded Java code (if this is the possibility) I can't find any good tutorials and shall be grateful if someone can point to it. Thanks Regards Ammar Hassan |
From: <cl...@br...> - 2008-11-20 10:46:05
Attachments:
smime.p7s
|
Dear Hammar, A good starting point to learn more about the Java and Jython interoperability is the Jython User Guide available form the web site: http://www.jython.org/Project/userguide.html I often use to embed Jython scripts calling them from Java or Groovy base code. This is particularly useful to add dynamic pieces of logic that does not require compiling. A good example are the business logic modules, which often undergo changes. And a last remark: The Python syntax is much more pleasant to read compared to Javanese. The basic way to embed a Jython script is to call: org.python.util.PythonInterpreter; The advanced way to call a Jython script, is using the JSR223 API, which also implements the object interchange facilities (Java 6 only); Both solutions are well described inside the Jython Users Guide. Have fun with Jython. Regards, Claude Claude Falbriard Developer AMS Hortolândia / SP - Brazil phone: +55 13 9762 4094 cell: +55 13 8117 3316 e-mail: cl...@br... <Amm...@su...> 11/20/2008 07:32 AM To <jyt...@li...> cc Subject [Jython-users] Using Jython from Java Hi I am new to Jython/Python and was wondering how I can access my jython code from within java (both as a script and embedded Java code (if this is the possibility) I can’t find any good tutorials and shall be grateful if someone can point to it. Thanks Regards Ammar Hassan ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: <Amm...@su...> - 2008-11-20 10:54:54
|
Hi thanx for the help. I have already done the interpreter part with a sample inter.eval("2+3"). Will look for your source for embedding coz that's what I intend to do OR running a jython script from with in java. Currently the issue I am facing is how to get the java know of the jython scripts Regards Ammar Hassan Sungard - Stockholm, Sweden +46 08 4540 309 ________________________________ From: cl...@br... [mailto:cl...@br...] Sent: den 20 november 2008 11:46 To: jyt...@li... Cc: Hassan, Ammar Subject: Re: [Jython-users] Using Jython from Java Dear Hammar, A good starting point to learn more about the Java and Jython interoperability is the Jython User Guide available form the web site: http://www.jython.org/Project/userguide.html <http://www.jython.org/Project/userguide.html> I often use to embed Jython scripts calling them from Java or Groovy base code. This is particularly useful to add dynamic pieces of logic that does not require compiling. A good example are the business logic modules, which often undergo changes. And a last remark: The Python syntax is much more pleasant to read compared to Javanese. The basic way to embed a Jython script is to call: org.python.util.PythonInterpreter; The advanced way to call a Jython script, is using the JSR223 API, which also implements the object interchange facilities (Java 6 only); Both solutions are well described inside the Jython Users Guide. Have fun with Jython. Regards, Claude Claude Falbriard Developer AMS Hortolândia / SP - Brazil phone: +55 13 9762 4094 cell: +55 13 8117 3316 e-mail: cl...@br... <Amm...@su...> 11/20/2008 07:32 AM To <jyt...@li...> cc Subject [Jython-users] Using Jython from Java Hi I am new to Jython/Python and was wondering how I can access my jython code from within java (both as a script and embedded Java code (if this is the possibility) I can't find any good tutorials and shall be grateful if someone can point to it. Thanks Regards Ammar Hassan ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: <Amm...@su...> - 2008-11-20 12:26:43
|
Hi Ok as I get it there is no way to call python script directly and the explicit embedding isn't that attractive for large scripts. The only option left is to use "class" of the script but it seems that jythonc is no more the preferred way and the link http://jython.org/Project/jythonc.html for alternatives isn't working for me. Any pointers? Regards Ammar Hassan Sungard - Stockholm, Sweden +46 08 4540 309 ________________________________ From: cl...@br... [mailto:cl...@br...] Sent: den 20 november 2008 11:46 To: jyt...@li... Cc: Hassan, Ammar Subject: Re: [Jython-users] Using Jython from Java Dear Hammar, A good starting point to learn more about the Java and Jython interoperability is the Jython User Guide available form the web site: http://www.jython.org/Project/userguide.html <http://www.jython.org/Project/userguide.html> I often use to embed Jython scripts calling them from Java or Groovy base code. This is particularly useful to add dynamic pieces of logic that does not require compiling. A good example are the business logic modules, which often undergo changes. And a last remark: The Python syntax is much more pleasant to read compared to Javanese. The basic way to embed a Jython script is to call: org.python.util.PythonInterpreter; The advanced way to call a Jython script, is using the JSR223 API, which also implements the object interchange facilities (Java 6 only); Both solutions are well described inside the Jython Users Guide. Have fun with Jython. Regards, Claude Claude Falbriard Developer AMS Hortolândia / SP - Brazil phone: +55 13 9762 4094 cell: +55 13 8117 3316 e-mail: cl...@br... <Amm...@su...> 11/20/2008 07:32 AM To <jyt...@li...> cc Subject [Jython-users] Using Jython from Java Hi I am new to Jython/Python and was wondering how I can access my jython code from within java (both as a script and embedded Java code (if this is the possibility) I can't find any good tutorials and shall be grateful if someone can point to it. Thanks Regards Ammar Hassan ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: <cl...@br...> - 2008-11-20 13:14:39
Attachments:
smime.p7s
|
Hi Ammar, You raised a good concept question. I would like to tell you that there are two answers. One, from a practical standpoint. You are telling me that's "explicit embedding isn’t that attractive for large scripts" .. and I will ask you.. "Why you came to this conclusion ?". Behind this thoughts are some facts about CPU speed. Maybe I´m privileged guy using mostly virtually hosted servers on high performance machines, so my conclusion is always the same when it comes to the choice of a dynamically interpreted code (this is not only valid for Jython, but also for Groovy and since the years 80 for REXX): "What means slow?" or translated into an even better picture: "How slow runs red Ferrari compared to a Volkswagen 1.0 ?" Please consider that CPU´s use to double its performance every year. So´what we discuss this year, might not be a point to discuss next year. Every year cycle that pass results in a bonus point for the dynamic languages. Yes, I have Jython scripts with 1.5K statements running in production, is that large? Now the second answer to your question. The JSR223 is probably the strategic path to follow, when it comes to cross language interoperability. I don´t think its about jythonc. For sure, a jythonc for 2.5 (or 3.0) would be nice tool to get at the same level as Groovy when it comes to Java portability. Regards, Claude Claude Falbriard Developer AMS Hortolândia / SP - Brazil phone: +55 13 9762 4094 cell: +55 13 8117 3316 e-mail: cl...@br... <Amm...@su...> 11/20/2008 10:11 AM To <jyt...@li...> cc Subject Re: [Jython-users] Using Jython from Java Hi Ok as I get it there is no way to call python script directly and the explicit embedding isn’t that attractive for large scripts. The only option left is to use “class” of the script but it seems that jythonc is no more the preferred way and the link http://jython.org/Project/jythonc.html for alternatives isn’t working for me. Any pointers? Regards Ammar Hassan Sungard - Stockholm, Sweden +46 08 4540 309 From: cl...@br... [mailto:cl...@br...] Sent: den 20 november 2008 11:46 To: jyt...@li... Cc: Hassan, Ammar Subject: Re: [Jython-users] Using Jython from Java Dear Hammar, A good starting point to learn more about the Java and Jython interoperability is the Jython User Guide available form the web site: http://www.jython.org/Project/userguide.html I often use to embed Jython scripts calling them from Java or Groovy base code. This is particularly useful to add dynamic pieces of logic that does not require compiling. A good example are the business logic modules, which often undergo changes. And a last remark: The Python syntax is much more pleasant to read compared to Javanese. The basic way to embed a Jython script is to call: org.python.util.PythonInterpreter; The advanced way to call a Jython script, is using the JSR223 API, which also implements the object interchange facilities (Java 6 only); Both solutions are well described inside the Jython Users Guide. Have fun with Jython. Regards, Claude Claude Falbriard Developer AMS Hortolândia / SP - Brazil phone: +55 13 9762 4094 cell: +55 13 8117 3316 e-mail: cl...@br... <Amm...@su...> 11/20/2008 07:32 AM To <jyt...@li...> cc Subject [Jython-users] Using Jython from Java Hi I am new to Jython/Python and was wondering how I can access my jython code from within java (both as a script and embedded Java code (if this is the possibility) I can’t find any good tutorials and shall be grateful if someone can point to it. Thanks Regards Ammar Hassan ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: <Amm...@su...> - 2008-11-20 17:05:42
|
Thank you for your review but when I said "isn't attractive" I meant more from the typing and reading perspective. Isn't it the same reason we don't like Servlet to print there outputs rather use JSP etc. Anyways option of "explicit embedding" is still open for me since the kind of work I am about to do is not so much lengthy (code wise) but I would like to employ alternatives of they exist coz the future needs are unforeseen. I found about this Interface (Java) and Implementation (Jython) from http://wiki.python.org/jython/JythonMonthly/Articles/October2006/3 and http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1 and tried to implement it. Finally when I was done I got the error that "ImportError: no module named Employee" Now Employee in this case is the Jython Implementation of Java Interface. I am having trouble putting my files in proper order and even though I have put the Employee.py folder in Eclipse's PYTHONPATH I can't get it through. Any ideas will be appreciated??? Ammar Hassan Sungard - Stockholm, Sweden +46 08 4540 309 ________________________________ From: cl...@br... [mailto:cl...@br...] Sent: den 20 november 2008 14:15 To: jyt...@li... Cc: Hassan, Ammar Subject: Re: [Jython-users] Using Jython from Java Hi Ammar, You raised a good concept question. I would like to tell you that there are two answers. One, from a practical standpoint. You are telling me that's "explicit embedding isn't that attractive for large scripts" .. and I will ask you.. "Why you came to this conclusion ?". Behind this thoughts are some facts about CPU speed. Maybe I´m privileged guy using mostly virtually hosted servers on high performance machines, so my conclusion is always the same when it comes to the choice of a dynamically interpreted code (this is not only valid for Jython, but also for Groovy and since the years 80 for REXX): "What means slow?" or translated into an even better picture: "How slow runs red Ferrari compared to a Volkswagen 1.0 ?" Please consider that CPU´s use to double its performance every year. So´what we discuss this year, might not be a point to discuss next year. Every year cycle that pass results in a bonus point for the dynamic languages. Yes, I have Jython scripts with 1.5K statements running in production, is that large? Now the second answer to your question. The JSR223 is probably the strategic path to follow, when it comes to cross language interoperability. I don´t think its about jythonc. For sure, a jythonc for 2.5 (or 3.0) would be nice tool to get at the same level as Groovy when it comes to Java portability. Regards, Claude Claude Falbriard Developer AMS Hortolândia / SP - Brazil phone: +55 13 9762 4094 cell: +55 13 8117 3316 e-mail: cl...@br... <Amm...@su...> 11/20/2008 10:11 AM To <jyt...@li...> cc Subject Re: [Jython-users] Using Jython from Java Hi Ok as I get it there is no way to call python script directly and the explicit embedding isn't that attractive for large scripts. The only option left is to use "class" of the script but it seems that jythonc is no more the preferred way and the link http://jython.org/Project/jythonc.html <http://jython.org/Project/jythonc.html> for alternatives isn't working for me. Any pointers? Regards Ammar Hassan Sungard - Stockholm, Sweden +46 08 4540 309 ________________________________ From: cl...@br... [mailto:cl...@br...] Sent: den 20 november 2008 11:46 To: jyt...@li... Cc: Hassan, Ammar Subject: Re: [Jython-users] Using Jython from Java Dear Hammar, A good starting point to learn more about the Java and Jython interoperability is the Jython User Guide available form the web site: http://www.jython.org/Project/userguide.html <http://www.jython.org/Project/userguide.html> I often use to embed Jython scripts calling them from Java or Groovy base code. This is particularly useful to add dynamic pieces of logic that does not require compiling. A good example are the business logic modules, which often undergo changes. And a last remark: The Python syntax is much more pleasant to read compared to Javanese. The basic way to embed a Jython script is to call: org.python.util.PythonInterpreter; The advanced way to call a Jython script, is using the JSR223 API, which also implements the object interchange facilities (Java 6 only); Both solutions are well described inside the Jython Users Guide. Have fun with Jython. Regards, Claude Claude Falbriard Developer AMS Hortolândia / SP - Brazil phone: +55 13 9762 4094 cell: +55 13 8117 3316 e-mail: cl...@br... <Amm...@su...> 11/20/2008 07:32 AM To <jyt...@li...> cc Subject [Jython-users] Using Jython from Java Hi I am new to Jython/Python and was wondering how I can access my jython code from within java (both as a script and embedded Java code (if this is the possibility) I can't find any good tutorials and shall be grateful if someone can point to it. Thanks Regards Ammar Hassan ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Charlie G. <cha...@gm...> - 2008-11-22 23:35:21
|
On Thu, Nov 20, 2008 at 8:50 AM, <Amm...@su...> wrote: > I found about this Interface (Java) and Implementation (Jython) from > http://wiki.python.org/jython/JythonMonthly/Articles/October2006/3 and > http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1 > > and tried to implement it. Finally when I was done I got the error that > "ImportError: no module named Employee" > > > > Now Employee in this case is the Jython Implementation of Java Interface. I > am having trouble putting my files in proper order and even though I have > put the Employee.py folder in Eclipse's PYTHONPATH I can't get it through. The environmental variable for sys.path is JYTHONPATH in Jython to avoid stepping on CPython's toes. You can also set the python.path property when initializing your PythonInterpreter. Also, if you're following the examples, the Employee class is in a file named employee.py. That means if the directory containing employee.py is on your JYTHONPATH, you'll need use "from employee import Employee" to get to the class. It's contained in the employee module, not exposed directly like a Java class. If that still doesn't work, try importing sys and printing out sys.path in your Python code before importing employee. That will let you see where Python is importing from and if it's missing your modules. Charlie |
From: <Amm...@su...> - 2008-11-24 09:10:29
|
Well finally I have got the example working with runtime interpreter sys.path.append.... but this doesn't solve my overall problem of setting jythonpath... Please comment! Ammar Hassan Sungard - Stockholm, Sweden +46 08 4540 309 -----Original Message----- From: Charlie Groves [mailto:cha...@gm...] Sent: den 23 november 2008 00:35 To: Hassan, Ammar Cc: jyt...@li... Subject: Re: [Jython-users] Using Jython from Java On Thu, Nov 20, 2008 at 8:50 AM, <Amm...@su...> wrote: > I found about this Interface (Java) and Implementation (Jython) from > http://wiki.python.org/jython/JythonMonthly/Articles/October2006/3 and > http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1 > > and tried to implement it. Finally when I was done I got the error that > "ImportError: no module named Employee" > > > > Now Employee in this case is the Jython Implementation of Java Interface. I > am having trouble putting my files in proper order and even though I have > put the Employee.py folder in Eclipse's PYTHONPATH I can't get it through. The environmental variable for sys.path is JYTHONPATH in Jython to avoid stepping on CPython's toes. You can also set the python.path property when initializing your PythonInterpreter. Also, if you're following the examples, the Employee class is in a file named employee.py. That means if the directory containing employee.py is on your JYTHONPATH, you'll need use "from employee import Employee" to get to the class. It's contained in the employee module, not exposed directly like a Java class. If that still doesn't work, try importing sys and printing out sys.path in your Python code before importing employee. That will let you see where Python is importing from and if it's missing your modules. Charlie |
From: <Amm...@su...> - 2008-11-24 09:04:56
|
Hi Ok So how to set the path??? If I add the path in command prompt (sys.path.append) it only stays there for session and goes away as soon as I close If I add a variable named "JYTHONPATH" in environment variables and set the "Lib" and home folder of jython along with my personal package folders it doesn't show up in sys.path and neither in Eclipse java project. There is no option as JYTHONPATH for jython in Eclipse like PYTHONPATH for Pydev so I try adding my Employee folder in the classpath of Jython through preferences. None of the above is working for me. How hard can it be to add a module ????? Regards Ammar Hassan Sungard - Stockholm, Sweden +46 08 4540 309 -----Original Message----- From: Charlie Groves [mailto:cha...@gm...] Sent: den 23 november 2008 00:35 To: Hassan, Ammar Cc: jyt...@li... Subject: Re: [Jython-users] Using Jython from Java On Thu, Nov 20, 2008 at 8:50 AM, <Amm...@su...> wrote: > I found about this Interface (Java) and Implementation (Jython) from > http://wiki.python.org/jython/JythonMonthly/Articles/October2006/3 and > http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1 > > and tried to implement it. Finally when I was done I got the error that > "ImportError: no module named Employee" > > > > Now Employee in this case is the Jython Implementation of Java Interface. I > am having trouble putting my files in proper order and even though I have > put the Employee.py folder in Eclipse's PYTHONPATH I can't get it through. The environmental variable for sys.path is JYTHONPATH in Jython to avoid stepping on CPython's toes. You can also set the python.path property when initializing your PythonInterpreter. Also, if you're following the examples, the Employee class is in a file named employee.py. That means if the directory containing employee.py is on your JYTHONPATH, you'll need use "from employee import Employee" to get to the class. It's contained in the employee module, not exposed directly like a Java class. If that still doesn't work, try importing sys and printing out sys.path in your Python code before importing employee. That will let you see where Python is importing from and if it's missing your modules. Charlie |
From: Charlie G. <cha...@gm...> - 2008-11-28 06:12:38
|
On Mon, Nov 24, 2008 at 1:04 AM, <Amm...@su...> wrote: > If I add the path in command prompt (sys.path.append) it only stays > there for session and goes away as soon as I close You can do this with a PythonInterpreter as well as with the command prompt. If you import sys and call sys.path.append with the path to your libs through the eval or exec methods on PythonInterpreter, the sys.path for that interpreter will be updated. > If I add a variable named "JYTHONPATH" in environment variables and set > the "Lib" and home folder of jython along with my personal package > folders it doesn't show up in sys.path and neither in Eclipse java > project. Ahh, looking through the changelogs, it appears JYTHONPATH wasn't added until after 2.2, but it seemed obvious enough that I thought it had been around forever. Unless you're using one of the 2.5 alphas or betas, JYTHONPATH isn't going to work. The python.path system property exists in 2.2 and earlier and will continue to exist in future Jythons. To set it from an Eclipse launcher, add -Dpython.path=<path to Jython Lib><platform path separator><path to your libs> to the VM arguments field in the arguments tab of your run configuration. Apologies for the confusion, Charlie |
From: Stefan B. <ste...@be...> - 2008-11-24 10:17:18
|
Amm...@su... wrote: > Ok as I get it there is no way to call python script directly and the > explicit embedding isn't that attractive for large scripts. Not sure what you mean here. For a longer Jython program, you'd better write it down in a .py file and then import that from embedded Jython code, rather than writing all your Jython code into a String in a Java class file. Stefan |