STINNER Victor <[email protected]> added the comment:
I'm working on PR but I found an issue.
shutil.which() behaves differently than subprocess,
distutils.spawn.find_executable() and os.execv() when PATH is set but set to an
empty string:
* os.get_exec_path() returns ['']
* shutil.which() returns None: DON'T RUN
* subprocess RUNS the program
* distutils.spawn.find_executable('program') returns 'program': RUN the program
* os.execv() RUNS the program
Using PATH=":", they all run the program and os.get_exec_path() returns ['',
''].
Who is right? Which behavior do we want for Python?
Note: When PATH is set to an empty string, shutil.which() and
distutils.spawn.find_executable() use the empty string, they don't use
os.defpath.
----------
Added file: https://bugs.python.org/file48065/empty_path.py
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue35755>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com