I know nothing of the details, but I think the goal is to have the same command work (almost) everywhere, yes?That does not need to be a python script, however. In fact, it's nice if activating an environment is as fast as possible so firing up Python to do it is less than ideal.Anyway -- I'd encourage folks to look at conda -- it now provides a conda command that can activate on multiple plaatfroms the same way:conda activate env_nameI don't know how many different shells that works with, but it at least hits the big few."conda" used to be a python script but I'm pretty sure it's now some kind of custom executable that re-directs the commands, and I'm sure is different on different platforms.prior art and all that.-CHBOn Mon, Jan 4, 2021 at 8:34 AM M.-A. Lemburg <mal@egenix.com> wrote: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/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/7MOIJHJFQVVRL7GW4HY6E3V5X2CGHQX6/
Code of Conduct: http://python.org/psf/codeofconduct/
--_______________________________________________Christopher Barker, PhD (Chris)
Python Language Consulting
- Teaching
- Scientific Software Development
- Desktop GUI and Web Development
- wxPython, numpy, scipy, Cython
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/447QJQ5XMRFA6TRDZJFDDYB2K4PRA6E4/
Code of Conduct: http://python.org/psf/codeofconduct/