In a project, I have e.g. two different packages, How can I use the setup.py to install these two packages in the Google's Colab, so that I can import the packages?
6 Answers
You can use !setup.py install
to do that.
Colab is just like a Jupyter notebook. Therefore, we can use the !
operator here to install any package in Colab. What !
actually does is, it tells the notebook cell that this line is not a Python code, its a command line script. So, to run any command line script in Colab, just add a !
preceding the line.
For example: !pip install tensorflow
. This will treat that line (here pip install tensorflow
) as a command prompt line and not some Python code. However, if you do this without adding the !
preceding the line, it'll throw up an error saying "invalid syntax".
But keep in mind that you'll have to upload the setup.py
file to your drive before doing this (preferably into the same folder where your notebook is).
Hope this answers your question :)

- 1,619
- 1
- 8
- 12
-
your answer would be easier to read if it weren't split into a list – avigil Jul 14 '18 at 19:17
-
8I just ran `!setup.py install` and it shows `/bin/bash: setup.py: command not found`. I have uploaded the whole package and the setup.py file exists in the same folder as the notebook – Rohit Kumar May 01 '19 at 11:04
-
1Sorry for the late response. Did you try `!python setup.py install`? – Ashutosh Pathak Jul 13 '19 at 11:38
-
It seems that it is not possible to directly provide url of setup.py from github. – keramat Oct 31 '19 at 07:39
-
I do not understand the difference between !pip and pip, both are giving same results i.e., installing the package without any error, mind if someone could clear that? – theProcrastinator Feb 09 '21 at 04:58
-
@keramat: it is possible to install Python packages from GitHub, but not by referring to its `setup.py`. Rather, to install e.g. `scipy` use: `!pip install git+https://github.com/scipy/scipy.git`. The gist here is to use `git+https` in the URL. `pip` will try to find `setup.py` in the URL and install as usual. – Benjamin B. Feb 12 '21 at 11:27
A better, more modern, answer to this question is to use the %pip
magic, like:
%pip install scipy
That will automatically use the correct Python version. Using !pip
might be tied to a different version of Python, and then you might not find the package after installing it.
And in colab, the magic gives a nice message and button if it detects that you need to restart the runtime if pip updated a packaging you have already imported.
BTW, there is also a %conda
magic for doing the same with conda.

- 2,031
- 18
- 36
Let's say you want to install scipy. Here is the code to install it:
!pip install scipy
If that doesn't work, try this
%pip install scipy

- 2,778
- 2
- 20
- 32
Joining the party late, but just as a complement, I ran into some problems with Seaborn not so long ago, because CoLab installed a version with !pip that wasn't updated. In my specific case, I couldn't use Scatterplot, for example. The answer to this is below:
To install the module, all you need is:
!pip install seaborn
To upgrade it to the most updated version:
!pip install --upgrade seaborn
If you want to install a specific version
!pip install seaborn==0.9.0
I believe all the rules common to pip apply normally, so that pretty much should work.

- 461
- 6
- 14
-
This is the clearest, easiest to read answer here, it needs more upvotes! – David Parks Jan 27 '20 at 17:30
To import a library that's not in Colaboratory by default, you can use
!pip install
or!apt-get install
.!pip install matplotlib-venn
- Library Import Snippets (colab.research.google.com)

- 20,084
- 6
- 92
- 119
- Upload setup.py to drive.
- Mount the drive.
- Get the path of setup.py.
- !python PATH install.

- 4,328
- 6
- 25
- 38