[Py] [Python Help] Venv: `activate` script changes `$PATH` while executing the binary doesn't

2024-10-14 Thread Jérôme Pouiller via Discussions on Python . org
Thank you Alyssa for this detailed answer. --- [Visit Topic](https://discuss.python.org/t/venv-activate-script-changes-path-while-executing-the-binary-doesnt/67580/12) or reply to this email to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from the

[Py] [Python Help] Venv: `activate` script changes `$PATH` while executing the binary doesn't

2024-10-11 Thread Jérôme Pouiller via Discussions on Python . org
But, the [documentation says][1]: > Furthermore, all scripts installed in the environment should be runnable > without activating it. My understanding is `/home/jerome/.local/pipx/venvs/west/bin/west` or `sh -c 'source /home/jerome/.local/pipx/venvs/west/bin/activate; west'` should give the

[Py] [Python Help] Venv: `activate` script changes `$PATH` while executing the binary doesn't

2024-10-11 Thread Jérôme Pouiller via Discussions on Python . org
I forgot to mention: $ which west /home/jerome/.local/bin/west $ ls -l /home/jerome/.local/bin/west lrwxrwxrwx 1 jerome jerome 44 Feb 22 2024 /home/jerome/.local/bin/west -> /home/jerome/.local/pipx/venvs/west/bin/west* The issue is not about finding the `west` command by itse

[Py] [Python Help] Venv: `activate` script changes `$PATH` while executing the binary doesn't

2024-10-11 Thread Jérôme Pouiller via Discussions on Python . org
hmm... so the idea is "a python package should never call a binary provided by another package", that's it? Yet, I believe it is a common pattern. --- [Visit Topic](https://discuss.python.org/t/venv-activate-script-changes-path-while-executing-the-binary-doesnt/67580/8) or reply to this e

[Py] [Python Help] Venv: `activate` script changes `$PATH` while executing the binary doesn't

2024-10-11 Thread Jérôme Pouiller via Discussions on Python . org
I spend a bunch of time to understand why one of my python command (`west`) didn't work as expected. Finally, I found it was because I installed my package in a `venv` and `west` it executed commands provided by required packages. eg: import subprocess subprocess.run(["command-provided