[Python-Dev] Choosing a best practice solution for Python/extension modules (original) (raw)

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 testwarnings 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