I guess I'm confused if you want (e.g.) `python json.py` to do something but not `python -m json` to call the same file (a different way), given you're in the directory.
nick@lappy386:~/Code$ echo "{}" | python -m json.tool {} nick@lappy386:~/Code$ touch json.py nick@lappy386:~/Code$ echo "{}" | python -m json.tool .../bin/python: Error while finding module specification for 'json.tool' (ModuleNotFoundError: __path__ attribute not found on 'json' while trying to find 'json.tool') nick@lappy386:~/Code$ echo "{}" | python -I -m json.tool {} Isolated mode effectively ignores the environment (variables and directory), so it will only use what's in that Python's site-packages (non-user, but could be a virtualenv) If you want the local path to not be on `sys.path` for a *script-like* call, you could do `python -I myscript.py`, but `-m mypkg` is I think indistinguishable from trying to `import mypkg`, so it needs to be discoverable on `sys.path`...this feels like an A/B problem: what are you trying to do? On Mon, Feb 24, 2020 at 3:35 PM <jdve...@gmail.com> wrote: > Nick Timkovich wrote: > > > > Are you familiar with the -I option for "isolated mode"? > > https://docs.python.org/3/using/cmdline.html#id2 > > -I > > Run Python in isolated mode. This also implies -E and -s. In isolated > mode > > sys.path contains neither the script’s directory nor the user’s > > site-packages directory. All PYTHON* environment variables are ignored, > > too. Further restrictions may be imposed to prevent the user from > injecting > > malicious code. New in version 3.4. > > Oooh... Can you provide some examples on the use of -I? > > I try to use along with -m (`python -I -m a.b`) and get this error: > "python: Error while finding module specification for 'a.b' > (ModuleNotFoundError: No module named 'a')". > > On the other hand `python -m a.b -I` just passed -I as a script's CLI > argument. > > Of course, I get the expected results if run `python -I` on terminal. > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/QTZRM5QZI6DI7D43XVYX2GR75IX5SUFX/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/IDG3CKB6MRIG2T4I5LEAK5SMUHRBMNRT/ Code of Conduct: http://python.org/psf/codeofconduct/