> Omitting it from sys.path in that case makes sense to me, but I'm not sure what sys.argv[0] should be set to.
I propose to use ".". It would be consistent with platforms which doesn't implement realpath:
if (have_module_arg) {
#if defined(HAVE_REALPATH) || defined(MS_WINDOWS)
_Py_wgetcwd(fullpath, Py_ARRAY_LENGTH(fullpath));
argv0 = fullpath;
n = wcslen(argv0);
#else
argv0 = L".";
n = 1;
#endif
}
And it defers the error handler to later. Example of Python 3 running in a removed directory:
$ python3
Python 3.7.2 (default, Jan 16 2019, 19:49:22)
>>> import os
>>> os.getcwd()
FileNotFoundError: [Errno 2] No such file or directory
>>> os.path.abspath('.')
Traceback (most recent call last):
File "/usr/lib64/python3.7/posixpath.py", line 383, in abspath
cwd = os.getcwd()
FileNotFoundError: [Errno 2] No such file or directory
I would prefer "." than "-m". |