Something went wrong. Try again.
lol
Something went wrong. Try again.
2.0 kB · 60 lines
at master
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061diff --git a/src/installer/__main__.py b/src/installer/__main__.pyindex b7a7445..6110e62 100644--- a/src/installer/__main__.py+++ b/src/installer/__main__.py@@ -30,6 +30,13 @@ def _get_main_parser() -> argparse.ArgumentParser: type=str, help="override prefix to install packages to", )+ parser.add_argument(+ "--executable",+ metavar="path",+ default=sys.executable,+ type=str,+ help="#! executable to install scripts with (default=sys.executable)",+ ) parser.add_argument( "--compile-bytecode", action="append",@@ -102,7 +109,7 @@ def _main(cli_args: Sequence[str], program: str | None = None) -> None: source.validate_record(validate_contents=args.validate_record == "all") destination = SchemeDictionaryDestination( scheme_dict=_get_scheme_dict(source.distribution, prefix=args.prefix),- interpreter=sys.executable,+ interpreter=args.executable, script_kind=get_launcher_kind(), bytecode_optimization_levels=bytecode_levels, destdir=args.destdir,diff --git a/tests/test_main.py b/tests/test_main.pyindex cb09b3d..3200819 100644--- a/tests/test_main.py+++ b/tests/test_main.py@@ -74,6 +74,28 @@ def test_main_prefix(fancy_wheel, tmp_path): } +def test_main_executable(fancy_wheel, tmp_path):+ destdir = tmp_path / "dest"++ main(+ [+ str(fancy_wheel),+ "-d",+ str(destdir),+ "--executable",+ "/monty/python3.x",+ ],+ "python -m installer",+ )++ installed_scripts = destdir.rglob("bin/*")++ for f in installed_scripts:+ with f.open("rb") as fp:+ shebang = fp.readline()+ assert shebang == b"#!/monty/python3.x\n"++ def test_main_no_pyc(fancy_wheel, tmp_path): destdir = tmp_path / "dest"