This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mariofutire
Recipients eric.snow, mariofutire, ncoghlan, paul.moore, steve.dower, tim.golden, vstinner, zach.ware
Date 2018-10-14.10:23:29
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <97b2e83b-e59f-c9ae-bf13-c37495d2de59@gmail.com>
In-reply-to <1539448636.83.0.788709270274.issue34725@psf.upfronthosting.co.za>
Content
On 13/10/2018 17:37, Steve Dower wrote:
> 
> Steve Dower <steve.dower@python.org> added the comment:
> 
> I meant why are you using an embedded application with a virtual environment? What sort of application do you have that requires users to configure a virtual environment, rather than providing its own set of libraries?
> 
> The embedding scenarios I'm aware of almost always want privacy/isolation from whatever a user has installed/configured, so that they can work reliably even when users modify other parts of their own system. I'm trying to understand what scenario (other than "I am an interactive Python shell") would want to automatically pick up the configuration rather than having its own configuration files/settings.

Does it really matter who owns main(), whether it is in python.exe or in some other C app.

This is exactly how you described, users want to use some C application which will call into python 
using some (user defined) python modules to execute some tasks which are scriptable.
And they want to be able to do in a confined environment where they can install the exact set of 
packages they require. And it is possible at the same time to set up multiple environments where 
different versions are tested independently.

There is as well the totally independent scenario where the app ships exactly what it needs, but 
there are some ways in between where one can script an app and in doing so you might need packages 
that the app itself knew nothing about.

For another example have a look at JEP
https://github.com/ninia/jep/search?q=virtual&unscoped_q=virtual

This is a way to call python from Java: same problem above, people might want to run it in a virtual 
environment and the only way to do this now is to manually set up PYTHONHOME, but it is pretty weak 
and does not replicate exactly what happens with virtual environments (e.g. inherit system's 
site-packages).

Again, in Linux, JEP works out of the box with no need to tell it about virtual environments, 
Py_Initialise() finds it (if they are indeed present) with absolutely no extra configuration (no 
need to change PYTHONPATH).

Andrea
History
Date User Action Args
2018-10-14 10:23:30mariofutiresetrecipients: + mariofutire, paul.moore, ncoghlan, vstinner, tim.golden, eric.snow, zach.ware, steve.dower
2018-10-14 10:23:29mariofutirelinkissue34725 messages
2018-10-14 10:23:29mariofutirecreate