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. ChrisA It's somewhat easy def activate_on_linux(): sys.subprocess([sys.executable, ...]) def activate_on_win(): sys.subprocess([sys.executable, ...]) def activate_on_mac(): sys.subprocess([sys.executable, ...]) def activate_on_solaris(): sys.subprocess([sys.executable, ...]) if sys.platform == linux: activate_on_linux() etc I believe this is used somewhere else in CPython. Recently sys.executable replaced python Kind Regards, Abdur-Rahmaan Janhangeer about <https://compileralchemy.github.io/> | blog <https://www.pythonkitchen.com> github <https://github.com/Abdur-RahmaanJ> Mauritius >
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@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/DCMG6SNAPS3NMQZZT3LDW4O6JQIOEFOK/ Code of Conduct: http://python.org/psf/codeofconduct/