diff options
author | Todd Gamblin <gamblin2@llnl.gov> | 2021-03-07 13:37:26 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-07 13:37:26 -0800 |
commit | 8d3272f82dba4959ac3da068720d9befbf3ca044 (patch) | |
tree | 202c69956ada2f8f31fa695a7cb958d063ef5b78 /lib | |
parent | 7aa5cc241d403414e76a07c8f9c77323d2c12e66 (diff) | |
download | spack-8d3272f82dba4959ac3da068720d9befbf3ca044.tar.gz spack-8d3272f82dba4959ac3da068720d9befbf3ca044.tar.bz2 spack-8d3272f82dba4959ac3da068720d9befbf3ca044.tar.xz spack-8d3272f82dba4959ac3da068720d9befbf3ca044.zip |
spack python: add --path option (#22006)
This adds a `--path` option to `spack python` that shows the `python`
interpreter that Spack is using.
e.g.:
```console
$ spack python --path
/Users/gamblin2/src/spack/var/spack/environments/default/.spack-env/view/bin/python
```
This is useful for debugging, and we can ask users to run it to
understand what python Spack is picking up via preferences in `bin/spack`
and via the `SPACK_PYTHON` environment variable introduced in #21222.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/cmd/python.py | 7 | ||||
-rw-r--r-- | lib/spack/spack/test/cmd/python.py | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/spack/spack/cmd/python.py b/lib/spack/spack/cmd/python.py index 588ddce853..5cee319ff5 100644 --- a/lib/spack/spack/cmd/python.py +++ b/lib/spack/spack/cmd/python.py @@ -34,6 +34,9 @@ def setup_parser(subparser): '-m', dest='module', action='store', help='run library module as a script') subparser.add_argument( + '--path', action='store_true', dest='show_path', + help='show path to python interpreter that spack uses') + subparser.add_argument( 'python_args', nargs=argparse.REMAINDER, help="file to run plus arguments") @@ -43,6 +46,10 @@ def python(parser, args, unknown_args): print('Python', platform.python_version()) return + if args.show_path: + print(sys.executable) + return + if args.module: sys.argv = ['spack-python'] + unknown_args + args.python_args runpy.run_module(args.module, run_name="__main__", alter_sys=True) diff --git a/lib/spack/spack/test/cmd/python.py b/lib/spack/spack/test/cmd/python.py index 360d947a07..d2ef35a85e 100644 --- a/lib/spack/spack/test/cmd/python.py +++ b/lib/spack/spack/test/cmd/python.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import platform +import sys import pytest @@ -18,6 +19,11 @@ def test_python(): assert out.strip() == spack.spack_version +def test_python_interpreter_path(): + out = python('--path') + assert out.strip() == sys.executable + + def test_python_version(): out = python('-V') assert platform.python_version() in out |