install: use Python entry-point script instead of python -m for launcher
'python -m blitztext' adds cwd to sys.path, so running blitztext from inside a directory that contains a blitztext/ folder shadows the installed package. A proper shebang entry-point script sets sys.path[0] to the script's own directory (venv/bin), making the launcher cwd-independent. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
2303dd8f78
commit
f877a76550
@ -44,9 +44,13 @@ echo "==> Writing default config (if absent)"
|
|||||||
|
|
||||||
echo "==> Installing launcher → $BIN"
|
echo "==> Installing launcher → $BIN"
|
||||||
mkdir -p "$(dirname "$BIN")"
|
mkdir -p "$(dirname "$BIN")"
|
||||||
|
# Use a Python entry-point script (not `python -m`) so the current working
|
||||||
|
# directory is never added to sys.path and can't shadow the installed package.
|
||||||
cat > "$BIN" <<EOF
|
cat > "$BIN" <<EOF
|
||||||
#!/bin/sh
|
#!$VENV/bin/python
|
||||||
exec "$VENV/bin/python" -m blitztext "\$@"
|
import sys
|
||||||
|
from blitztext.blitztext import main
|
||||||
|
sys.exit(main())
|
||||||
EOF
|
EOF
|
||||||
chmod +x "$BIN"
|
chmod +x "$BIN"
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user