[Python-Dev] Set program name through exec -a or environment variable
Serhiy Storchaka
storchaka at gmail.com
Sun Mar 19 01:51:56 EDT 2017
More information about the Python-Dev mailing list
Sun Mar 19 01:51:56 EDT 2017
- Previous message (by thread): [Python-Dev] Set program name through exec -a or environment variable
- Next message (by thread): [Python-Dev] Py_SIZE vs PyXXX_GET_SIZE
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 18.03.17 15:15, Freddy Rietdijk wrote: > I would like to know if you're open to supporting `exec -a` or an > environment variable for setting `argv[0]`, and have some pointers as to > where that should be implemented. > > On Nixpkgs we typically use wrappers to set environment variables like > PATH or PYTHONPATH for individual programs. Consider a program named > `prog`. We move the original program `prog` to `.prog-wrapped` and then > create a wrapper `prog` that does `exec -a prog .prog-wrapped`. > > Unfortunately `exec -a` does not work with Python. The process is still > named `.prog-wrapped` (although that's not really a problem) but worse, > `sys.argv[0]` is also `.prog-wrapped`. Currently we inject some code in > programs that sets `sys.argv=[0] = "prog" but this is fragile and I > would prefer to get rid of this. You can move the original program `prog` into the subdirectory `.wrapped` and then create a wrapper `prog` that does `exec .wrapped/prog` or `exec python3 .wrapped/prog`.
- Previous message (by thread): [Python-Dev] Set program name through exec -a or environment variable
- Next message (by thread): [Python-Dev] Py_SIZE vs PyXXX_GET_SIZE
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list