On 13 September 2016 at 21:12, Thomas Kluyver
One thing I'd quite like to see Python grow is a standard function to install packages from inside Python.
That's not too hard in principle - pip.main(['install', package]) is basically all you'd need (modulo various design details, and wrapping it in a nice user friendly function). The bigger problems are: 1. pip is an independent module (albeit shipped with Python) and it's not clear to what extent Python would want a builtin function that depends on a non-stdlib module. But that's not a technical issue. 2. Python's module system isn't really designed around installing new modules while a process is running. There's caching involved, so the effects can be unpredictable. It's difficult to know whether the benefits (avoiding confused users who tried to install from a Python prompt) would outweigh the costs (confused users having installed a module but not being able to see it because the module system didn't notice things had changed). 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). Overall, it'd probably be a nice thing to have, but it's nowhere near as simple as it seems at first glance. Paul