On 04.01.2021 15:45, Chris Angelico wrote:
On Tue, Jan 5, 2021 at 1:42 AM Abdur-Rahmaan Janhangeer <arj.python@gmail.com> wrote:
Greetings list,
put simply,
be able to use
$ python -m venv venv_name activate
To activate an env instead of having each platform have a way of handling it
Unfortunately, that wouldn't work. Activating a virtual environment means setting some env vars in the current shell, and Python is fundamentally unable to do that - it can only be done within the shell itself (by sourcing a script).
You can, of course, simply run the Python executable from that venv, but activation is *by its nature* a shell feature, and will differ by shell.
Something that would work is using the ssh-agent approach to output shell commands which configure the environment: # For bash et al: `python3 -c "print('export TEST=1')"` A new command: `python3 -m venv activate myenv bash` could do the trick. Of course, venv itself could also create the necessary shell files in the bin/ dir. You'd then just need to run: source myenv/bin/activate.sh (this is how virtualenv does this) -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, Jan 04 2021)
Python Projects, Coaching and Support ... https://www.egenix.com/ Python Product Development ... https://consulting.egenix.com/
::: We implement business ideas - efficiently in both time and costs ::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 https://www.egenix.com/company/contact/ https://www.malemburg.com/