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

Reply via email to