On 4/14/2025 6:20 PM, Keith Thompson via Python-list wrote:
Thomas Passin <li...@tompassin.net> writes:
[...]
To activate a venv, you have to source its activate script, which is
in the venv. First you have to mark it as executable. Then you source
it -
source ~/venv/gf4/bin/activate
[...]
No, you don't have to (and probably shouldn't) mark the script as
executable.
Making a script executable (chmod +x) is required before *executing* it,
but when you *source* a script (using "source" or "."), your current
shell reads it and evaluates its content.
Making the active script executable introdues the risk that you'll
accidentally execute it rather than sourcing it. If you do that, it
will probably set up the environment in a new shell process which then
immediately terminates.
You are right, my bad. When I went to check on what the venv prompt
looked like after activation, I hadn't run my Linux VM for too long and
forgot that the activate script needs to be sourced - in Windows it just
gets run as any other script. I noticed it wasn't marked executable and
blindly "fixed" that. Then of course I remembered the script has to be
sourced - and forgot to undo the execute flag.
--
https://mail.python.org/mailman/listinfo/python-list