From: Vernon C. <ver...@gm...> - 2011-03-16 00:29:33
|
Hello, all. You don't know me, I just signed up to the group. I am being required to learn Java for a college class [Bill Gates and I dropped out the same year & I am now back] and I added the Python support package to NetBeans -- since Python has been my language of choice for several years. I was very impressed with Jython 2.5. I dredged up an old program which I wrote several years ago as an adjunct to a Java desktop application. The Python implementation I was using had gone away (I had "borrowed" the Python from inside OpenOffice) so my little application had quit working. It seemed that simply running my old code in Jython would do the trick. It tested fine in NetBeans. Then I started trying to learn how to run it from a shortcut. Yipes! A few days ago a discussion cropped on the IronPython discussion list about how to automatically detect which version of Python to use for a particular script. I suggested that the POSIX practice of the first line containing "#!/usr/bin/yourPythonVerlsionHere" would be reasonable. Micheal Foord informed us that that idea was already in process. In a later message I suggested that the same method they talked about could also be adapted to start up a Jython script. I include the latest exchange... v v v v v v On 16/03/2011 3:43 PM Mark Hammond wrote: On 16/03/2011 1:28 AM, Michael Foord wrote: > > On 15/03/2011 07:18, Vernon Cole wrote: >> >> #!/usr/bin/ipy3 ... > There has been a long discussion recently on Python-dev [1] suggesting > the creation of exactly such a launcher program for Python on Windows. > Mark Hammond (copied) said he would implement it. Including IronPython > support is a fine idea. I've made a start on this. I've a 'reference implementation' in Python and am starting a PEP which I hope to post to python-dev in the next week or so (but please let me know if you would like to have a look at it before then). While I've been focusing on CPython, other implementations could be supported so long as this "launcher" could reliably locate them. For example, a shebang line of "/usr/bin/python2.6" could use the registry to locate the Python 2.6 implementation and execute it. If the shebang line specifies just "/usr/bin/python", then exactly how to determine which version to use is still up for grabs and as python-dev is never short of opinions <wink> I figured I'd leave that level of detail until there is more public discussion. If there is a reliable way to locate an IronPython implementation given just its version number, then the same basic scheme could certainly be used for IronPython or jython - but I'd be keen to have someone from those communities help with that side of things. The intention is that the final implementation would be written in C and be distributed with CPython, but that would depend on the support of python-dev for this scheme. However, that raises the question of how IronPython etc would actually get this launcher installed assuming no CPython installation exists. This too would need some feedback from the communities. Hope this is useful... Cheers, Mark ^ ^ ^ ^ ^ ^ ^ So I am approaching your group to see if there is interest in getting in on this. I have asked Mark for a copy of his code. I will try to adapt it to include IronPython -- and Jython if you all are interested and will feed me some correct skeleton code to use. -- Vernon Cole |
From: Philip J. <pj...@un...> - 2011-03-24 19:02:24
|
On Mar 15, 2011, at 5:29 PM, Vernon Cole wrote: > Hello, all. > You don't know me, I just signed up to the group. I am being > required to learn Java for a college class [Bill Gates and I dropped > out the same year & I am now back] and I added the Python support > package to NetBeans -- since Python has been my language of choice for > several years. I was very impressed with Jython 2.5. I dredged up an > old program which I wrote several years ago as an adjunct to a Java > desktop application. The Python implementation I was using had gone > away (I had "borrowed" the Python from inside OpenOffice) so my little > application had quit working. It seemed that simply running my old > code in Jython would do the trick. It tested fine in NetBeans. > Then I started trying to learn how to run it from a shortcut. Yipes! > > A few days ago a discussion cropped on the IronPython discussion list > about how to automatically detect which version of Python to use for a > particular script. I suggested that the POSIX practice of the first > line containing "#!/usr/bin/yourPythonVerlsionHere" would be > reasonable. Micheal Foord informed us that that idea was already in > process. > > In a later message I suggested that the same method they talked about > could also be adapted to start up a Jython script. I include the > latest exchange... > v v v v v v > On 16/03/2011 3:43 PM Mark Hammond wrote: > > On 16/03/2011 1:28 AM, Michael Foord wrote: >> >> On 15/03/2011 07:18, Vernon Cole wrote: >>> >>> #!/usr/bin/ipy3 > > ... > >> There has been a long discussion recently on Python-dev [1] suggesting >> the creation of exactly such a launcher program for Python on Windows. >> Mark Hammond (copied) said he would implement it. Including IronPython >> support is a fine idea. > > I've made a start on this. I've a 'reference implementation' in > Python and am starting a PEP which I hope to post to python-dev in the > next week or so (but please let me know if you would like to have a > look at it before then). > > While I've been focusing on CPython, other implementations could be > supported so long as this "launcher" could reliably locate them. For > example, a shebang line of "/usr/bin/python2.6" could use the registry > to locate the Python 2.6 implementation and execute it. If the > shebang line specifies just "/usr/bin/python", then exactly how to > determine which version to use is still up for grabs and as python-dev > is never short of opinions <wink> I figured I'd leave that level of > detail until there is more public discussion. > > If there is a reliable way to locate an IronPython implementation > given just its version number, then the same basic scheme could > certainly be used for IronPython or jython - but I'd be keen to have > someone from those communities help with that side of things. > > The intention is that the final implementation would be written in C > and be distributed with CPython, but that would depend on the support > of python-dev for this scheme. However, that raises the question of > how IronPython etc would actually get this launcher installed assuming > no CPython installation exists. This too would need some feedback > from the communities. > > Hope this is useful... > > Cheers, > > Mark > ^ ^ ^ ^ ^ ^ ^ > > So I am approaching your group to see if there is interest in getting > in on this. I have asked Mark for a copy of his code. I will try to > adapt it to include IronPython -- and Jython if you all are interested > and will feed me some correct skeleton code to use. Thanks for bringing this up. I haven't had a chance to look at the PEP yet, but we've been wanting a native command line script runner (particularly for Windows) for a while. The automatic versioning system isn't a big concern for us, we're just interested in a native replacement for our .bat file script runner. It would solve a number of problems. We have a ticket open here: http://bugs.jython.org/issue1491 Our current .bat file lives here: https://fisheye3.atlassian.com/browse/jython/trunk/jython/src/shell/jython.bat?r=HEAD We had been planning to steal JRuby's native launcher for this (it's linked from that ticket) as we already stole their original .sh and .bat command line script runners. Nobody's done any of the work for this yet, though -- Philip Jenvey |
From: Vernon C. <ver...@gm...> - 2011-03-24 19:41:28
|
Thanks! I think that is the nastiest .bat file I have ever seen! I see why you would want a replacement, and the fact that you have some work done on the problem will, I think, add strength to the argument that we need something. There is no PEP yet for you to read. I have a pre-release of it. I am thinking of suggesting (as a minimum) a configuration file which could contain the start commands for other implementations. So as a worst case, you could have #!/usr/bin/jython in your python source first line, it would call up a line like jython=C:\utils\jython.bat or some such thing, in the configuration, which would call your existing frightening .bat to start the script running using the correct python interpreter. Even better, of course, if the python launcher could do all of the symbol replacement stuff itself. I will try to keep you up to date as this grows. -- Vernon On Thu, Mar 24, 2011 at 1:02 PM, Philip Jenvey <pj...@un...> wrote: > > On Mar 15, 2011, at 5:29 PM, Vernon Cole wrote: {...snip...} >> >> So I am approaching your group to see if there is interest in getting >> in on this. I have asked Mark for a copy of his code. I will try to >> adapt it to include IronPython -- and Jython if you all are interested >> and will feed me some correct skeleton code to use. > > Thanks for bringing this up. I haven't had a chance to look at the PEP yet, but we've been wanting a native command line script runner (particularly for Windows) for a while. The automatic versioning system isn't a big concern for us, we're just interested in a native replacement for our .bat file script runner. > > It would solve a number of problems. We have a ticket open here: > > http://bugs.jython.org/issue1491 > > Our current .bat file lives here: > > https://fisheye3.atlassian.com/browse/jython/trunk/jython/src/shell/jython.bat?r=HEAD > > We had been planning to steal JRuby's native launcher for this (it's linked from that ticket) as we already stole their original .sh and .bat command line script runners. Nobody's done any of the work for this yet, though > > -- > Philip Jenvey > > |
From: Philip J. <pj...@un...> - 2011-03-24 23:09:46
|
On Mar 24, 2011, at 12:41 PM, Vernon Cole wrote: > Thanks! > I think that is the nastiest .bat file I have ever seen! I see why > you would want a replacement, and the fact that you have some work > done on the problem will, I think, add strength to the argument that > we need something. > > There is no PEP yet for you to read. I thought it was Mark's new PEP 397? -- Philip Jenvey |
From: Vernon C. <ver...@gm...> - 2011-03-25 04:28:10
|
Yes, it is! Thanks. Vernon Cole (sent from my 'droid phone) On Mar 24, 2011 5:09 PM, "Philip Jenvey" <pj...@un...> wrote: On Mar 24, 2011, at 12:41 PM, Vernon Cole wrote: > Thanks! > I think that is the nastiest .bat fi... I thought it was Mark's new PEP 397? -- Philip Jenvey |