#!/bin/bash # Dev entry point for eco -- unlike /sf/bernina/bin/eco (which hardcodes an # ipython -c call against a fixed startup script and ignores its own # arguments), this delegates to eco_cli.py's real argparse entry point # (`-s`, `--ui`, `--profile`, `-l`/`--no-lazy`) so all of them work, e.g.: # eco-dev -s bernina -l --ui desktop # eco-dev -s bernina -l --ui shell # # Always runs the checkout at /sf/bernina/code/gac-bernina/eco -- for # testing against that specific working tree, not whatever is "installed", # even now that a real `eco` package is also installed in this same # environment (bpy312). Running eco_cli.py by path only prioritises the # checkout for *that* process; once it execs into ipython/jupyter/voila, # sys.path doesn't carry over -- PYTHONPATH does, since env vars survive # exec() while sys.path doesn't. So we set both, defensively: prepending # PYTHONPATH makes every subsequent process (including nested ones # eco_cli.py itself execs into) resolve `import eco` to this checkout # first, ahead of the real install sitting in the same environment. # Verified: `python -c "import eco; print(eco.__file__)"` resolves to the # real install without this, and to this checkout with it. #source bpy-default.sh source bpy-env export PYTHONPATH="/sf/bernina/code/gac-bernina/eco${PYTHONPATH:+:$PYTHONPATH}" exec python /sf/bernina/code/gac-bernina/eco/eco_cli.py "$@"