Hi, What would be the difference with current pip module? pip.main(['install', 'some_package'])
2017-10-29 20:26 GMT+01:00 Alex Walters <tritium-l...@sdamon.com>: > I have a somewhat better, imo, implementation of a pip object to be loaded > into the repl. > > > > class pip: > > def __call__(self, *a, **kw): > > sys.stderr.write(str(self)) > > > > def __repr__(self): > > return str(self) > > > > def __str__(self): > > return “Please run pip from your system command prompt” > > > > > > > > *From:* Python-ideas [mailto:python-ideas-bounces+tritium-list=sdamon.com@ > python.org] *On Behalf Of *Stephan Houben > *Sent:* Sunday, October 29, 2017 3:19 PM > *To:* Python-Ideas <python-ideas@python.org> > *Subject:* [Python-ideas] install pip packages from Python prompt > > > > Hi all, > > Here is in somewhat more detail my earlier proposal for > > having in the interactive Python interpreter a `pip` function to > > install packages from Pypi. > > Motivation: it appears to me that there is a category of newbies > > for which "open a shell and do `pip whatever`" is a bit too much. > > It would, in my opinion, simplify things a bit if they could just > > copy-and-paste some text into the Python interpreter and have > > some packages from pip installed. > > That would simplify instructions on how to install package xyz, > > without going into the vagaries of how to open a shell on various > > platforms, and how to get to the right pip executable. > > I think this could be as simple as: > > def pip(args): > import sys > import subprocess > subprocess.check_call([sys.executable, "-m", "pip"] + args.split()) > > print("Please re-start Python now to use installed or upgraded > packages.") > > Note that I added the final message about restarting the interpreter > > as a low-tech solution to the problem of packages being already > > imported in the current Python session. > > I would imagine that the author of package xyz would then put on > > their webpage something like: > > To use, enter in your Python interpreter: > > pip("install xyz --user") > > As another example, consider prof. Baldwin from Woolamaloo university > > who teaches a course "Introductory Python programming for Sheep Shavers". > > In his course material, he instructs his students to execute the > > following line in their Python interpreter. > > pip("install woolamaloo-sheepshavers-goodies --user") > > which will install a package which will in turn, as dependencies, > > pull in a number of packages which are relevant for sheep shaving but > > which have nevertheless irresponsibly been left outside the stdlib. > > Stephan > > > > > > _______________________________________________ > Python-ideas mailing list > Python-ideas@python.org > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ > > -- Antoine Rozo
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/