On 13 September 2016 at 19:00, Paul Moore <p.f.moore@gmail.com> wrote:
[...]

I'm not honestly sure how big the "installing while a process is
running" issue would be - I did a few simple experiments and couldn't
immediately trigger weirdness, but I believe it can happen. And things
get significantly worse if we allow upgrades from the Python prompt
rather than just installs (e.g., if you have already imported
something from the old version and then upgrade).

The only weirdness on install I can imagine would happen is if the installation creates `.pth` files, as those wouldn't be re-read by the currently running Python.

The only package I remember having these was PIL, which can't be installed by pip anyway. Pillow, the PIL fork, doesn't use .pth files.

(easy_install creates and manages .pth files, but if you're using setuptools APIs to install packages from inside a running process then 1. you already have a system to automatically make the packages available in your namespace and 2. you know, or should know, what you're getting into).

Overall, it'd probably be a nice thing to have, but it's nowhere near
as simple as it seems at first glance.
Paul

Considering that installing a package and importing a package are two very different things, I don't see why we couldn't handle the simple case of installing the package for the first time with a nice API. Just document the usual caveat emptors.

Cheers,

Leo