Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #37985 > unrolled thread
| Started by | Thomas Heller <theller@ctypes.org> |
|---|---|
| First post | 2013-01-31 10:03 +0100 |
| Last post | 2013-01-31 19:40 +0100 |
| Articles | 8 — 3 participants |
Back to article view | Back to comp.lang.python
Python launcher (PEP 397) and emacs python-mode.el Thomas Heller <theller@ctypes.org> - 2013-01-31 10:03 +0100
Re: Python launcher (PEP 397) and emacs python-mode.el Andreas Röhler <andreas.roehler@online.de> - 2013-01-31 12:05 +0100
Re: Python launcher (PEP 397) and emacs python-mode.el Thomas Heller <theller@ctypes.org> - 2013-01-31 17:35 +0100
Re: Python launcher (PEP 397) and emacs python-mode.el Vinay Sajip <vinay_sajip@yahoo.co.uk> - 2013-01-31 18:26 +0000
Re: Python launcher (PEP 397) and emacs python-mode.el Thomas Heller <theller@ctypes.org> - 2013-01-31 21:53 +0100
Re: Python launcher (PEP 397) and emacs python-mode.el Vinay Sajip <vinay_sajip@yahoo.co.uk> - 2013-01-31 23:59 +0000
Re: Python launcher (PEP 397) and emacs python-mode.el Andreas Röhler <andreas.roehler@online.de> - 2013-02-01 08:13 +0100
Re: Python launcher (PEP 397) and emacs python-mode.el Andreas Röhler <andreas.roehler@online.de> - 2013-01-31 19:40 +0100
| From | Thomas Heller <theller@ctypes.org> |
|---|---|
| Date | 2013-01-31 10:03 +0100 |
| Subject | Python launcher (PEP 397) and emacs python-mode.el |
| Message-ID | <amuqb5FueeU1@mid.individual.net> |
Has someone managed to patch python-mode.el to use the PEP 397 python launcher when you hit C-c C-c? It seems that emacs should parse the shebang line in the edited python script and pass the corresponding arguments to py.exe. Thomas
[toc] | [next] | [standalone]
| From | Andreas Röhler <andreas.roehler@online.de> |
|---|---|
| Date | 2013-01-31 12:05 +0100 |
| Message-ID | <mailman.1246.1359630370.2939.python-list@python.org> |
| In reply to | #37985 |
Am 31.01.2013 10:03, schrieb Thomas Heller: > Has someone managed to patch python-mode.el to use > the PEP 397 python launcher when you hit C-c C-c? > > It seems that emacs should parse the shebang line in the edited > python script and pass the corresponding arguments to py.exe. > Yes, that's the way python-mode.el acts by default. AFAIU that launcher is implemented in Python3.3 and should not need any patch at all. Should it not work, please file a bug-report at https://bugs.launchpad.net/python-mode Andreas > Thomas
[toc] | [prev] | [next] | [standalone]
| From | Thomas Heller <theller@ctypes.org> |
|---|---|
| Date | 2013-01-31 17:35 +0100 |
| Message-ID | <amvkqcF71apU1@mid.individual.net> |
| In reply to | #37988 |
Am 31.01.2013 12:05, schrieb Andreas Röhler: > Am 31.01.2013 10:03, schrieb Thomas Heller: >> Has someone managed to patch python-mode.el to use >> the PEP 397 python launcher when you hit C-c C-c? >> >> It seems that emacs should parse the shebang line in the edited >> python script and pass the corresponding arguments to py.exe. >> > > Yes, that's the way python-mode.el acts by default. > > AFAIU that launcher is implemented in Python3.3 and should not need any > patch at all. > Should it not work, please file a bug-report at > > https://bugs.launchpad.net/python-mode Well, let me make these remarks: 1. I'm on Windows, using gnu-emacs 24.2.1, and python-mode.el 6.1.0. I do not understand how the shebang line is used by python-mode.el, depending on what I write into it either 'python.exe' is started when I hit C-c C-c, or I get 'Spawning child process: invalid argument'. The latter occurs most often when the shebang string contains 'jython'. 2. I would like to use the PEP 397 python launcher to start the python version that is specified in the shebang line. The python launcher py.exe parses this line when I run 'py script.py', and then starts the corresponding python interpreter version. The launcher parses the shebang line by its own rules (see pep397 for exact details). One example is this: <script> #!/usr/bin/python3.1-32 import sys; print(sys.version) </script> The python launcher starts 'c:\Python31\python.exe -3.1-32 script.py'. I would like emacs to do the same; however this would require emacs to do the same shebang line parsing as the launcher does. Thomas
[toc] | [prev] | [next] | [standalone]
| From | Vinay Sajip <vinay_sajip@yahoo.co.uk> |
|---|---|
| Date | 2013-01-31 18:26 +0000 |
| Message-ID | <mailman.1253.1359656827.2939.python-list@python.org> |
| In reply to | #37999 |
Thomas Heller <theller <at> ctypes.org> writes: > <script> > #!/usr/bin/python3.1-32 > import sys; print(sys.version) > </script> > > The python launcher starts 'c:\Python31\python.exe -3.1-32 script.py'. > That doesn't seem right, the launcher on my system launches using c:\Python31\python.exe script.py if I just run script.py, or if I invoke it as py -3.1-32 script.py it still launches using c:\Python31\python.exe script.py Regards, Vinay Sajip
[toc] | [prev] | [next] | [standalone]
| From | Thomas Heller <theller@ctypes.org> |
|---|---|
| Date | 2013-01-31 21:53 +0100 |
| Message-ID | <an03u3Fal86U1@mid.individual.net> |
| In reply to | #38006 |
Am 31.01.2013 19:26, schrieb Vinay Sajip: > Thomas Heller <theller <at> ctypes.org> writes: > >> <script> >> #!/usr/bin/python3.1-32 >> import sys; print(sys.version) >> </script> >> >> The python launcher starts 'c:\Python31\python.exe -3.1-32 script.py'. >> > > That doesn't seem right, the launcher on my system launches using > > c:\Python31\python.exe script.py > > if I just run script.py, or if I invoke it as > > py -3.1-32 script.py > > it still launches using > > c:\Python31\python.exe script.py Sorry for the confusion that I am causing. Vinay, you are right of course. What I meant to write is this: when the shebang line in script.py contains this: #!/usr/bin/python3.1-32 then emacs SHOULD run py.exe -3.1-32 script.py and the launcher runs c:\Python31\python.exe script.py Thomas
[toc] | [prev] | [next] | [standalone]
| From | Vinay Sajip <vinay_sajip@yahoo.co.uk> |
|---|---|
| Date | 2013-01-31 23:59 +0000 |
| Message-ID | <mailman.1263.1359676786.2939.python-list@python.org> |
| In reply to | #38011 |
Thomas Heller <theller <at> ctypes.org> writes: > What I meant to write is this: > > when the shebang line in script.py contains this: > #!/usr/bin/python3.1-32 > then emacs SHOULD run > py.exe -3.1-32 script.py > and the launcher runs > c:\Python31\python.exe script.py IMO it would be better for emacs to just run py.exe script.py and py.exe can read the shebang and do the right thing. This saves the emacs code from having to duplicate the shebang line processing logic that py.exe uses (which, as we know, is unusual. So for a cross-platform you can have a shebang line of #!/usr/bin/python3.2, and on Windows it will still call the appropriate Python 3.2 even if it's not in /usr/bin, as there's no /usr/bin :-)) Regards, Vinay Sajip
[toc] | [prev] | [next] | [standalone]
| From | Andreas Röhler <andreas.roehler@online.de> |
|---|---|
| Date | 2013-02-01 08:13 +0100 |
| Message-ID | <mailman.1273.1359702822.2939.python-list@python.org> |
| In reply to | #38011 |
Am 01.02.2013 00:59, schrieb Vinay Sajip: > Thomas Heller <theller <at> ctypes.org> writes: > >> What I meant to write is this: >> >> when the shebang line in script.py contains this: >> #!/usr/bin/python3.1-32 >> then emacs SHOULD run >> py.exe -3.1-32 script.py >> and the launcher runs >> c:\Python31\python.exe script.py > > IMO it would be better for emacs to just run > > py.exe script.py > > and py.exe can read the shebang and do the right thing. This saves the emacs code > from having to duplicate the shebang line processing logic that py.exe uses > (which, as we know, is unusual. So for a cross-platform you can have a shebang > line of #!/usr/bin/python3.2, and on Windows it will still call the appropriate > Python 3.2 even if it's not in /usr/bin, as there's no /usr/bin :-)) > > Regards, > > Vinay Sajip > > > https://bugs.launchpad.net/python-mode/+bug/1112207
[toc] | [prev] | [next] | [standalone]
| From | Andreas Röhler <andreas.roehler@online.de> |
|---|---|
| Date | 2013-01-31 19:40 +0100 |
| Message-ID | <mailman.1254.1359657646.2939.python-list@python.org> |
| In reply to | #37999 |
Am 31.01.2013 17:35, schrieb Thomas Heller: > Am 31.01.2013 12:05, schrieb Andreas Röhler: >> Am 31.01.2013 10:03, schrieb Thomas Heller: >>> Has someone managed to patch python-mode.el to use >>> the PEP 397 python launcher when you hit C-c C-c? >>> >>> It seems that emacs should parse the shebang line in the edited >>> python script and pass the corresponding arguments to py.exe. >>> >> >> Yes, that's the way python-mode.el acts by default. >> >> AFAIU that launcher is implemented in Python3.3 and should not need any >> patch at all. >> Should it not work, please file a bug-report at >> >> https://bugs.launchpad.net/python-mode > > Well, let me make these remarks: > > 1. I'm on Windows, using gnu-emacs 24.2.1, and python-mode.el 6.1.0. > I do not understand how the shebang line is used by python-mode.el, it uses py-shebang-regexp to determine - if a shebang is given - if, yes, which interpreter to run > depending on what I write into it either 'python.exe' is started when > I hit C-c C-c, or I get 'Spawning child process: invalid argument'. > The latter occurs most often when the shebang string contains 'jython'. please file a bug-report giving some example script which triggers the bug > > > 2. I would like to use the PEP 397 python launcher to start the python > version that is specified in the shebang line. > The python launcher py.exe parses this line when I run 'py script.py', > and then starts the corresponding python interpreter version. > The launcher parses the shebang line by its own rules (see pep397 for > exact details). One example is this: > > <script> > #!/usr/bin/python3.1-32 > import sys; print(sys.version) > </script> > > The python launcher starts 'c:\Python31\python.exe -3.1-32 script.py'. > unfortunatly don't have a windows at my disposal. At linux it would run exactly the interpreter specified. Might be okay for windows as shown. > I would like emacs to do the same; however this would require emacs > to do the same shebang line parsing as the launcher does. > So we do - looks like python-mode.el precedes PEP 397 :) Expecting the bug elsewhere. > Thomas
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web