Nick Coghlan added the comment:

There are two different use cases here. "-C" tackles one of them, 
"PYTHONRUNFIRST" the other.

My original use case came from working on the Python test suite. In that suite, 
we have "test.script_helper" which spawns Python subprocesses in order to test 
various aspects of the startup machinery. I can easily modify script_helper to 
pass an extra -C argument when gathering coverage data, so I don't need any 
implicit magic.

The -C option also simplifies a whole host of things by letting you use the 
Python API to perform preconfiguration of various subsystems before executing 
__main__ normally rather than having to either write a custom launch script 
(difficult to do with full generality) or adding even more arcane command line 
options.

However, the -C option doesn't cover the case of *implicit* invocation of 
subprocesses. This is where the PYTHONRUNFIRST suggestion comes in - the idea 
would that, unless -E is specified, then -C $PYTHONRUNFIRST would be implied.

To be honest, I *don't* think this latter capability should be built into the 
core implementation. Instead, I think it is more appropriate for it to be 
handled at a virtual environment level, so that it doesn't inadvertently affect 
invocation of other applications (like hg) that merely happen to be written in 
Python. Scoping it to a venv would also lessen many of my security concerns 
with the idea. A simple way to do this would be if pyvenv.cfg could contain a 
customisation snippet that was executed prior to __main__ invocation (building 
off the -C machinery)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue14803>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to