I am interested in using Google Colab for data modeling. How do I install conda, create an environment and run python in a notebook? I did some searching and found some helpful hints, but had several issues with this. I can only get a partially functional environment so far. I get stuck in running another cell in the same environment. Seems that switching cells resets the environment back to default.
Updated Instructions to install Conda on Google Colab Oct 2021
The process is much simpler with
condacolab python library
!pip install -q condacolab import condacolab condacolab.install()
Post kernel restart, check condacolab installation
import condacolab condacolab.check()
You can update the base environment with an environment file
!conda env update -n base -f environment.yml
Note : Unfortunately in condacolab only base environment can be used. Avoid creating new environments
Few useful links
Found a way to get Miniconda working in Google colab. For now, use source activate, not conda activate in the 2nd cell. Still working out the bugs with using conda to activate.
Full Notebook demo here:
github with demo notebook:
Google uses Python 3.6.9 by default. I created an environment using Python 3.6.10.
Steps to follow:
- Install miniconda
- Create a new environment
- Run some python code to test the environment is being used
Some sample code:
# try to get the bare minimum to get a new conda env working conda_path = '' try: conda_path = !which conda finally: print('') if (len(conda_path) == 0): print('installing miniconda') !wget https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh && bash Miniconda3-4.5.4-Linux-x86_64.sh -bfp /usr/local !conda update conda -y -q !source /usr/local/etc/profile.d/conda.sh !conda init !conda install -n root _license -y -q else: print('found miniconda') conda_envs = !conda env list res = [i for i in conda_envs if 'test36' in i] if (len(res) == 0): print('not found test36 env', len(res)) !conda create -y -q --name test36 python=3.6 else: print('found test36 env', len(res))
%%bash source activate test36 python import sys # maybe only need this the first time we run this notebook sys.path.append('/usr/local/lib/python3.6/site-packages') print("Python version") print(sys.version)
Python version 3.6.10 |Anaconda, Inc.| (default, May 8 2020, 02:54:21) [GCC 7.3.0]
Note that version 3.6.10 is the one installed in my personal conda environment. You can also see your new environment here:
A few things to point out:
- If you open a new notebook, your new environment does not exist. Seems to be stored in a transient location, similar to docker.