[Python-Dev] Choosing a best practice solution for Python/extension modules
Michael Foord
fuzzyman at voidspace.org.uk
Fri Feb 20 21:50:31 CET 2009
Brett Cannon wrote:
>
>
> On Fri, Feb 20, 2009 at 12:31, Daniel Stutzbach
> <daniel at stutzbachenterprises.com
> <mailto:daniel at stutzbachenterprises.com>> wrote:
>
> On Fri, Feb 20, 2009 at 1:44 PM, Brett Cannon <brett at python.org
> <mailto:brett at python.org>> wrote:
>
> Now, from what I can tell, Antoine is suggesting having _pyio
> and a _io and then io is simply:
>
> try: from _io import *
> except ImportError: from _pyio import *
>
> That works for testing as you can then have test classes have
> an attribute for the module to use and then create two
> subclasses which set what module to use (kind of like how
> test_warnings currently does it). But this only really works
> for complete module replacements, not modules like pickle
> where only key portions have been rewritten (which happens
> more often than the complete rewrite).
>
>
> A slight change would make it work for modules where only key
> functions have been rewritten. For example, pickle.py could read:
>
> from _pypickle import *
> try: from _pickle import *
> except ImportError: pass
>
>
> True, although that still suffers from the problem of overwriting
> things like __name__, __file__, etc.
What do you mean overwriting __name__ and __file__? Doing import * in a
pure Python file doesn't override these.
Michael
>
> -Brett
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
>
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
More information about the Python-Dev
mailing list