summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTodd Gamblin <gamblin2@llnl.gov>2021-03-07 13:37:26 -0800
committerGitHub <noreply@github.com>2021-03-07 13:37:26 -0800
commit8d3272f82dba4959ac3da068720d9befbf3ca044 (patch)
tree202c69956ada2f8f31fa695a7cb958d063ef5b78 /lib
parent7aa5cc241d403414e76a07c8f9c77323d2c12e66 (diff)
downloadspack-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.py7
-rw-r--r--lib/spack/spack/test/cmd/python.py6
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