New submission from Géry <gery.o...@gmail.com>:

Nicholas, I have noticed that `runpy.run_path` alters `sys.path` as expected 
for a file_path argument which is a valid `sys.path` entry (typically a 
directory or zip file). That is to say it adds the file_path argument to the 
beginning of `sys.path`, like `python <valid sys.path entry>`.

However, I have also noticed that `runpy.run_path` does not alter `sys.path` as 
expected for a file_path argument which is a Python source or bytecode file 
path. That is to say it does not add the *parent path* of the file_path 
argument to the beginning of `sys.path`, contrary to `python <source or 
bytecode file path>`.

Likewise, I have also noticed that `runpy.run_module` (with the alter_sys 
argument set to `True` of course) does not alter `sys.path` as expected. That 
is to say it does not add the path of the *current directory* to the beginning 
of `sys.path`, contrary to `python -m <module>`.

Only the first of the three previous `sys.path` manipulations is documented in 
https://docs.python.org/3/library/runpy.html though, so the `runpy` 
implementation is at least compliant with its specification. So is the mismatch 
between the manipulation of `sys.path` by `runpy` and by the Python 
command-line interface a specification bug or is it the intended behaviour?

----------
components: Library (Lib)
messages: 377171
nosy: maggyero, ncoghlan
priority: normal
severity: normal
status: open
title: Mismatch between the manipulation of `sys.path` by `runpy` and by the 
Python command-line interface
type: behavior
versions: Python 3.8

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

Reply via email to