Re: Pip installs to unexpected place
Thomas Passin <[email protected]>
| Newsgroups | comp.lang.python |
|---|---|
| Message-ID | <[email protected]> |
On 4/14/2025 6:20 PM, Keith Thompson via Python-list wrote: > Thomas Passin <[email protected]> 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.