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.
This commit is contained in:
parent
7aa5cc241d
commit
8d3272f82d
@ -33,6 +33,9 @@ def setup_parser(subparser):
|
||||
subparser.add_argument(
|
||||
'-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)
|
||||
|
@ -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
|
||||
|
@ -1385,7 +1385,7 @@ _spack_pydoc() {
|
||||
_spack_python() {
|
||||
if $list_options
|
||||
then
|
||||
SPACK_COMPREPLY="-h --help -V --version -c -i -m"
|
||||
SPACK_COMPREPLY="-h --help -V --version -c -i -m --path"
|
||||
else
|
||||
SPACK_COMPREPLY=""
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user