[issue39917] new_compiler() called 2nd time causes error

Todd Levi report at bugs.python.org
Wed Mar 18 17:59:51 EDT 2020


Todd Levi <televi at comcast.net> added the comment:

In looking through the setup.py file for uvloop, I see that they purposely do not call super().initialize_options() or super().finalize_options() in their code if they've already been called once.

I think that is why their code is revealing this problem - the 2nd command to be run is inheriting the self.compiler value from the first command since build_ext.initialize_options() isn't being called to (re)set self.compiler to be None.

I'm not sure if there's a "rule" that says each command must call initialize_options() to "sanitize" the object or not but that does explain why the 2nd command is seeing a CCompiler object() for self.compiler on the 2nd time through.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39917>
_______________________________________


More information about the Python-bugs-list mailing list