[Python-Dev] PEP 370 and IronPython (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Thu Oct 8 14:22:00 CEST 2009
- Previous message: [Python-Dev] PEP 370 and IronPython
- Next message: [Python-Dev] PEP 370 and IronPython
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Christian Heimes wrote:
The solution requires a new attribute in the sys module that contains the name of the implementation. As an alternative we could use the first field of sys.subversion but I prefer an explicit attribute. I'm proposing "sys.name" with a value of "CPython", "IronPython", "Jython" or "PyPy".
My Google skills almost failed me, but searching for "sys.vm" found me what I was after: http://bugs.python.org/issue4242 (a discussion relating to a similar need in the context of flagging implementation specific tests).
As mentioned in that discussion, as of Python 2.6, you can do the following:
import platform platform.pythonimplementation() 'CPython'
(Although according to the function docstring, PyPy is currently missing from the list of known implementations)
Importing yet-another-module for use in site.py doesn't sound like a great idea, so it may make sense to migrate that information into the sys module is this approach is taken. "sys.name" is a little generic though - something more explicit like "sys.vm" would be better.
The site module uses the information of the attribute to modify the path to the user site directory.
Implementation specific user directories sound like a good idea indeed.
An alternative to a lookup table approach might be to be a little more direct and just retrieve the final part of the user specific directory name directly from a new function in the sys module. Then different VM authors can choose any directory name they want without CPython's site.py needing to know anything else about them.
Cheers, Nick.
-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-Dev] PEP 370 and IronPython
- Next message: [Python-Dev] PEP 370 and IronPython
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]