I wonder if it\'s possible to install python packages without leaving the IPython shell.
I like hurfdurf's answer, but on its own iPython may not recognize the new module (especially if it adds to the library path). Here's an augmented example with iPython 3:
import pip
pip.main(['install','pygame'])
# import pygame at this point can report ImportError: No module named 'pygame'
import site
site.main()
# now with refreshed module path...
import pygame
You can use the !
prefix like this:
!pip install packagename
The !
prefix is a short-hand for the %sc
command to run a shell command.
You can also use the !!
prefix which is a short-hand for the %sx
command to execute a shell command and capture its output (saved into the _
variable by default).
The accepted answer by aculich will not work in all circumstances, for example:
python
binaryThe correct command is:
import sys
!{sys.executable} -m pip install requests
In case you are using Conda Package Manager, the following syntax might fit your needs
$ conda install -c conda-forge <targetPackageName>
https://pypi.org/project/earthpy/
import pip
pip.main(['install', 'package_name'])
The above shell-based answers don't work unless pip
is in your $PATH (e.g. on Windows).