Skip to main content

Install Conda and friends on Google Colab, easily

Project description

condacolab

Downloads Downloads Downloads

Install Conda and friends on Google Colab, easily.

CondaColab

Usage

TLDR: Check the example notebook here!

On your Colab notebook, run the following code as the first executable cell:

!pip install -q condacolab
import condacolab
condacolab.install()

After the kernel restart, you can optionally add a new cell to check that everything is in place:

import condacolab
condacolab.check()

It is important that you perform the installation first thing in the notebook because it will require a kernel restart, thus resetting the variables set up to that point.

The default condacolab.install() provides Mambaforge, but there are other conda distributions to choose from:

  • install_anaconda(): This will install the Anaconda 2020.02 distribution, the last version that was built for Python 3.7. This contains plenty of data science packages, but they might be outdated by now.
  • install_miniconda(): This will install the Miniconda 4.9.2 distribution, using a version built for Python 3.7. Unlike Anaconda, this distribution only contains python and conda.
  • install_miniforge(): Like Miniconda, but built off conda-forge packages. The Miniforge distribution is officially provided by conda-forge but I forked and patched it so it's built for Python 3.7.
  • install_mambaforge(): Like Miniforge, but with mamba included. The Mambaforge distribution is officially provided by conda-forge but I forked and patched it so it's built for Python 3.7.

For advanced users, install_from_url() is also available. It expects a URL pointing to a constructor-like installer, so you can prebuild a Python 3.7 distribution that fulfills your own needs.

If you want to build your own constructor-based installer, check the FAQ below!

Once the installation is done, you can use conda and/or mamba to install the needed packages:

!conda install openmm

# or, faster:
!mamba install openmm

If you have a environment file (e.g. environment.yml), you can use it like this:

!conda env update -n base -f environment.yml

# or, faster:
!mamba env update -n base -f environment.yml

Shortcomings

  • The Python kernel needs to be restarted for changes to be applied. This happens automatically. If you are wondering why you are seeing a message saying "Your session crashed for an unknown reason", this is why. You can safely ignore this message!
  • You can only use the base environment, so do not try to create more environments with conda create.

FAQ

How does it work

Google Colab runs on Python 3.7. We install the Miniconda distribution on top of the existing one at /usr/local, add a few configuration files so we stay with Python 3.7 (conda auto updates by default) and the newly installed packages are available. Finally, we wrap the Python executable to redirect and inject some environment variables needed to load the new libraries. Since we need to re-read LD_LIBRARY_PATH, a kernel restart is needed.

How can I cache my installation? I don't want to wait every time I start Colab.

The recommended approach is to build your own constructor-based installer. We have provided an example in constructor-example/construct.yaml.

You can generate a constructor installer on Colab too! Follow this tutorial.

Locally, follow these steps:

  1. In your local computer:
conda create -n constructor -c conda-forge constructor
conda activate constructor
mkdir my-installer
cd my-installer
curl -sLO https://raw.githubusercontent.com/jaimergp/condacolab/main/constructor-example/construct.yaml
curl -sLO https://raw.githubusercontent.com/jaimergp/condacolab/main/constructor-example/pip-dependencies.sh
  1. Add your conda packages to construct.yaml in the specs section. Read the comments to respect the constrains already present! You can also adapt the metadata to your liking.
  2. If you do need to install pip requirements, uncomment the post_install line and edit pip-dependencies.sh.
  3. Run constructor --platform linux-64 .
  4. Upload the resulting .sh to an online location with a permanent URL. GitHub Releases is great for this!
  5. In Colab, run:
!pip install -q condacolab
import condacolab
condacolab.install_from_url(URL_TO_YOUR_CUSTOM_CONSTRUCTOR_INSTALLER)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

condacolab-0.1.3.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

condacolab-0.1.3-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file condacolab-0.1.3.tar.gz.

File metadata

  • Download URL: condacolab-0.1.3.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.9.5 Darwin/20.3.0

File hashes

Hashes for condacolab-0.1.3.tar.gz
Algorithm Hash digest
SHA256 af74d15e8abe62f0c9cec3cb0304b1c06f78e0118b4797aa3277ec64d29a1d5c
MD5 2cebb466b28878e07e04d13583eabef2
BLAKE2b-256 dd9be34048d3a8cf95a8a8c6a8fb4bdf3dd9c5321cd0c8cdd0fadf20995cba8d

See more details on using hashes here.

File details

Details for the file condacolab-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: condacolab-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.9.5 Darwin/20.3.0

File hashes

Hashes for condacolab-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 572faa0b04a043893cbae171c36e0af61c6a69dedca5024a2b8b4c6d707f3871
MD5 08d4a2f0c7d0a15eea09cdf4e1c074fe
BLAKE2b-256 6eaf6a0375e27c2e87ec971b43e2cd87c6cf133a337df23d4a28a56d097265d0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page