This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2010年06月10日 21:11 by fredericaltorres, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| issue8964.diff | numerodix, 2013年10月16日 19:30 | review | ||
| issue8964_v2.diff | numerodix, 2013年10月17日 05:59 | review | ||
| issue8964_v3.diff | numerodix, 2013年10月19日 10:11 | review | ||
| Messages (18) | |||
|---|---|---|---|
| msg107487 - (view) | Author: Frederic Torres (fredericaltorres) | Date: 2010年06月10日 21:11 | |
Method _sys_version() module Lib\platform.py does parse correctly IronPython 2.x version The format of sys.version now start with a version number and ( 2.6.1 (IronPython 2.6.1 (2.6.10920.0) on .NET 4.0.30319.1) File: Lib\platform.py Function: def _sys_version(sys_version=None): Line: 1326 |
|||
| msg107489 - (view) | Author: Marc-Andre Lemburg (lemburg) * (Python committer) | Date: 2010年06月10日 21:15 | |
Frederic Torres wrote: > > New submission from Frederic Torres <fredericaltorres@gmail.com>: > > Method _sys_version() module Lib\platform.py does parse correctly IronPython 2.x version > > The format of sys.version now start with a version number and ( > 2.6.1 (IronPython 2.6.1 (2.6.10920.0) on .NET 4.0.30319.1) > > File: Lib\platform.py > Function: def _sys_version(sys_version=None): > Line: 1326 I assume you meant: doesn't correctly parse the version number. Could you provide a complete example formatted as Python string, e.g. print repr(sys.version) ?! Thanks, -- Marc-Andre Lemburg eGenix.com ________________________________________________________________________ 2010年07月19日: EuroPython 2010, Birmingham, UK 38 days to go ::: Try our new mxODBC.Connect Python Database Interface for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ |
|||
| msg108240 - (view) | Author: Frederic Torres (fredericaltorres) | Date: 2010年06月20日 17:29 | |
print repr(sys_version) returns '2.6.1 (IronPython 2.6.1 (2.6.10920.0) on .NET 2.0.50727.3603)' The format of sys.version now start with a version number 2.6.1 (IronPythons 2.6.1 (2.6.10920.0) on .NET 4.0.30319.1) My guess is that with previous version of IronPython this was not the case |
|||
| msg124494 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年12月22日 09:02 | |
Do you want to work on a patch? |
|||
| msg124511 - (view) | Author: Frederic Torres (fredericaltorres) | Date: 2010年12月22日 16:28 | |
Eric, Yes I like to. But I am not familiar how to submit a patch. The file that need to be patched is "C:\Program Files (x86)\IronPython 2.6\Lib\platform.py" for IronPython 2.6. I thought this file was maintained by Marc-Andre Lemburg <mal@egenix.com based on the comment in the file platform.py. It will affect IronPython 2.6 and IronPython 2.6 For .Net 4.0 and probably IronPython 2.7. If you give me linsk to read about how to make a patch I would really like to contribute to IronPython. Thanks. Fred. On Wed, Dec 22, 2010 at 4:02 AM, Éric Araujo <report@bugs.python.org> wrote: > > Éric Araujo <merwok@netwok.org> added the comment: > > Do you want to work on a patch? > > ---------- > nosy: +eric.araujo > stage: -> needs patch > title: Method _sys_version() module Lib\platform.py does not parse correctly IronPython 2.x version -> platform._sys_version does not parse correctly IronPython 2.x version > versions: +Python 2.7, Python 3.1, Python 3.2 -Python 2.6 > > _______________________________________ > Python tracker <report@bugs.python.org> > <http://bugs.python.org/issue8964> > _______________________________________ > |
|||
| msg124521 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年12月22日 21:17 | |
This is the tracker for CPython, not IronPython, but I assume they synchronize their standard modules with ours, so I think this bug should be fixed here (not in 2.6 though, this old version only gets security fixes). Guidelines for patches: http://www.python.org/dev/patches/ In short: check out the py3k branch, add a test that fails in Lib/test/test_platform.py (in the test_sys_version method), then patch the code to make the test pass. |
|||
| msg200076 - (view) | Author: Martin Matusiak (numerodix) * | Date: 2013年10月16日 19:30 | |
I've checked sys.version on IronPython 2.6.1, 2.6.2 (same format) and 2.7.4 (slightly different). The patch includes two new test cases. I've also taken the liberty of adding some newlines in between the items in the dict as I found this code very hard to read otherwise. |
|||
| msg200084 - (view) | Author: Marc-Andre Lemburg (lemburg) * (Python committer) | Date: 2013年10月16日 20:49 | |
The patch looks good, except one nit: if 'IronPython' in sys_version is probably not supported in IronPython 2.0, since support for "n-char in m-char" tests were added after Python 2.1. Now, you can either leave this in and remove the IronPython 2.0 support from platform.py (which is fine, IMO), or change the test to use the .find() method. |
|||
| msg200110 - (view) | Author: Martin Matusiak (numerodix) * | Date: 2013年10月17日 05:59 | |
Hm, I see. Actually, "in" is already used in this function a little further down: elif "PyPy" in sys_version: So we should change both occurrences then. I'm attaching a v2 with these changes. |
|||
| msg200370 - (view) | Author: Martin Matusiak (numerodix) * | Date: 2013年10月19日 05:06 | |
It seems the versions of IronPython 1.0 mentioned in test cases do actually support the "in" keyword, so the first version of the patch is probably sufficient.
Example session:
>>> sys.version
IronPython 1.0.60816 on .NET 2.0.50727.3643
>>> "IronPython" in sys.version
True
>>> sys.version.startswith("IronPython")
True
|
|||
| msg200388 - (view) | Author: Marc-Andre Lemburg (lemburg) * (Python committer) | Date: 2013年10月19日 08:36 | |
On 19.10.2013 07:06, Martin Matusiak wrote:
>
> Martin Matusiak added the comment:
>
> It seems the versions of IronPython 1.0 mentioned in test cases do actually support the "in" keyword, so the first version of the patch is probably sufficient.
>
> Example session:
>
>>>> sys.version
> IronPython 1.0.60816 on .NET 2.0.50727.3643
>>>> "IronPython" in sys.version
> True
>>>> sys.version.startswith("IronPython")
> True
In that case, I'm +1 on using both to clean up the code.
|
|||
| msg200393 - (view) | Author: Martin Matusiak (numerodix) * | Date: 2013年10月19日 10:11 | |
Attaching a v3 which uses "in" and "startswith". Just for good measure I ran this module on IronPython 1.0 and it fails on import: - bytes literal: b'(__libc_init)' - "if" as infix operator: line 177 - "unexpected token open": use of "with" context manager on line 334 - "as" keyword: except OSError as why: line 430 - ImportError: No module named os. os and subprocess are missing altogether in IronPython 1.0. That's as far as I looked - there may be other issues still. So I decided to isolate this one function and see if it works. It fails because re.ASCII does not exist. If I remove that then the function runs and parses its own sys.version correctly. But it may be a bit of a stretch at this point to stay compatible that far back. |
|||
| msg200397 - (view) | Author: Marc-Andre Lemburg (lemburg) * (Python committer) | Date: 2013年10月19日 10:25 | |
On 19.10.2013 12:11, Martin Matusiak wrote: > > Attaching a v3 which uses "in" and "startswith". > > > Just for good measure I ran this module on IronPython 1.0 and it fails on import: > > - bytes literal: b'(__libc_init)' > - "if" as infix operator: line 177 > - "unexpected token open": use of "with" context manager on line 334 > - "as" keyword: except OSError as why: line 430 > - ImportError: No module named os. os and subprocess are missing altogether in IronPython 1.0. > > That's as far as I looked - there may be other issues still. > > So I decided to isolate this one function and see if it works. It fails because re.ASCII does not exist. If I remove that then the function runs and parses its own sys.version correctly. > > But it may be a bit of a stretch at this point to stay compatible that far back. Well, there's a catch here: the trunk version of platform.py is for Python 3. This does not need to stay backwards compatible to Python 2 (but keeping it close to the Python 2 version helps make merges easier). Then there's the Python 2.7 version, which receives patches like yours. This has to stay compatible for Python versions relying on it, which are in particular older IronPython and Jython versions that don't ship with their own stdlib. I think it's ok to use Python 2.4 as the latest version supported by the Python 2.7 platform.py. The module is used for creating Python packages and 2.4 is still used by some Zope/Plone installations. If IronPython 1.0 does not support Python 2.4, we don't need to support it in the 2.7 version of platform.py. |
|||
| msg200405 - (view) | Author: Martin Matusiak (numerodix) * | Date: 2013年10月19日 11:37 | |
Double checked that the test passes against both default and 2.7 branches. Is there anything else that needs to happen here or are you satisfied, Marc-Andre? |
|||
| msg200411 - (view) | Author: Marc-Andre Lemburg (lemburg) * (Python committer) | Date: 2013年10月19日 12:32 | |
On 19.10.2013 13:37, Martin Matusiak wrote: > > Martin Matusiak added the comment: > > Double checked that the test passes against both default and 2.7 branches. > > Is there anything else that needs to happen here or are you satisfied, Marc-Andre? No, that's all :-) Thanks, Martin. Unfortunately, I don't have time in the next few days to check this in. Could one of the other core devs please do ? Thanks. |
|||
| msg200661 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2013年10月21日 00:06 | |
New changeset 04a163f93ad4 by Ezio Melotti in branch '2.7': #8964: fix platform._sys_version to handle IronPython 2.6+. http://hg.python.org/cpython/rev/04a163f93ad4 New changeset 10a261824b62 by Ezio Melotti in branch '3.3': #8964: fix platform._sys_version to handle IronPython 2.6+. http://hg.python.org/cpython/rev/10a261824b62 New changeset 1f7d8a42904c by Ezio Melotti in branch 'default': #8964: merge with 3.3. http://hg.python.org/cpython/rev/1f7d8a42904c |
|||
| msg200662 - (view) | Author: Ezio Melotti (ezio.melotti) * (Python committer) | Date: 2013年10月21日 00:06 | |
Fixed, thanks for the patch! |
|||
| msg200904 - (view) | Author: Marc-Andre Lemburg (lemburg) * (Python committer) | Date: 2013年10月22日 09:31 | |
On 21.10.2013 02:07, Ezio Melotti wrote: > > Ezio Melotti added the comment: > > Fixed, thanks for the patch! Thanks, Ezio, for the check-in. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:02 | admin | set | github: 53210 |
| 2018年03月25日 23:22:51 | cheryl.sabella | link | issue17994 superseder |
| 2013年10月22日 09:31:07 | lemburg | set | messages: + msg200904 |
| 2013年10月21日 00:06:59 | ezio.melotti | set | status: open -> closed messages: + msg200662 assignee: ezio.melotti resolution: fixed stage: patch review -> resolved |
| 2013年10月21日 00:06:22 | python-dev | set | nosy:
+ python-dev messages: + msg200661 |
| 2013年10月19日 12:32:22 | lemburg | set | messages: + msg200411 |
| 2013年10月19日 11:37:46 | numerodix | set | messages: + msg200405 |
| 2013年10月19日 10:25:45 | lemburg | set | messages: + msg200397 |
| 2013年10月19日 10:11:21 | numerodix | set | files:
+ issue8964_v3.diff messages: + msg200393 |
| 2013年10月19日 08:36:40 | lemburg | set | messages: + msg200388 |
| 2013年10月19日 05:06:21 | numerodix | set | messages: + msg200370 |
| 2013年10月18日 17:40:53 | ezio.melotti | set | nosy:
+ ezio.melotti |
| 2013年10月17日 05:59:20 | numerodix | set | files:
+ issue8964_v2.diff messages: + msg200110 |
| 2013年10月16日 20:49:39 | lemburg | set | messages: + msg200084 |
| 2013年10月16日 20:44:25 | berker.peksag | set | stage: needs patch -> patch review versions: + Python 3.4, - Python 3.2 |
| 2013年10月16日 19:30:48 | numerodix | set | files:
+ issue8964.diff nosy: + numerodix messages: + msg200076 keywords: + patch |
| 2012年09月11日 22:49:23 | ezio.melotti | set | keywords:
+ easy versions: + Python 3.3, - Python 3.1 |
| 2010年12月22日 21:17:42 | eric.araujo | set | nosy:
lemburg, eric.araujo, fredericaltorres messages: + msg124521 |
| 2010年12月22日 16:28:23 | fredericaltorres | set | nosy:
lemburg, eric.araujo, fredericaltorres messages: + msg124511 |
| 2010年12月22日 09:02:19 | eric.araujo | set | nosy:
+ eric.araujo title: Method _sys_version() module Lib\platform.py does not parse correctly IronPython 2.x version -> platform._sys_version does not parse correctly IronPython 2.x version messages: + msg124494 versions: + Python 3.1, Python 2.7, Python 3.2, - Python 2.6 stage: needs patch |
| 2010年06月20日 17:29:53 | fredericaltorres | set | messages:
+ msg108240 title: Method _sys_version() module Lib\platform.py does parse correctly IronPython 2.x version -> Method _sys_version() module Lib\platform.py does not parse correctly IronPython 2.x version |
| 2010年06月10日 21:15:24 | lemburg | set | messages:
+ msg107489 title: Method _sys_version() module Lib\platform.py does parse correctly IronPython 2.x version -> Method _sys_version() module Lib\platform.py does parse correctly IronPython 2.x version |
| 2010年06月10日 21:11:33 | fredericaltorres | create | |