Choose languages for your environment#
You can define many different languages in your configuration files. This page describes how to use some of the more common ones.
Python#
Your environment will have Python (and specified dependencies) installed when you use one of the following configuration files:
requirements.txt
environment.yml
Note
By default, the environment will have Python 3.10.
Changed in version 0.8: Upgraded default Python from 3.6 to 3.7.
Specifying a version of Python#
To specify a specific version of Python, you have two options:
Use environment.yml. Conda environments let you define the Python version in
environment.yml
. To do so, addpython=X.X
to your dependencies section, like so:name: python 2.7 dependencies: - python=2.7 - numpy
Use runtime.txt with requirements.txt. If you are using
requirements.txt
instead ofenvironment.yml
, you can specify the Python runtime version in a separate file calledruntime.txt
. This file contains a single line of the following form:python-X.X
For example:
python-3.6
The R Language#
repo2docker supports R, the open source RStudio IDE as well
as Jupyter support for R with the IRKernel. To set it up,
you need to create a runtime.txt
file with the following format:
r-<version>-<YYYY>-<MM>-<DD>
This will provide you R of given version (such as 4.1, 3.6, etc), and a CRAN snapshot to install libraries from on the given date. You can install more R packages from CRAN by adding a install.R file to your repo. RStudio and IRKernel are installed by default for all R versions.
packagemanager.posit.co will be used to provide much faster installations via binary packages. For some packages, this might require you install underlying system libraries using apt.txt - Install packages with apt-get - look at the page for the CRAN package you are interested in at packagemanager.posit.co to find a list.
repo2docker stopped using the Microsoft mirror MRAN for older R versions after its shutdown in July, 2023.
Julia#
To build an environment with Julia, include a configuration file called
Project.toml
. The format of this file is documented at
the Julia Pkg.jl documentation.
To specify a specific version of Julia to install, put a Julia version in the
[compat]
section of the Project.toml
file, as described
here: https://julialang.github.io/Pkg.jl/v1/compatibility/.
Languages not covered here#
If a language is not “officially” supported by a build pack, it can often be
installed with a postBuild
script. This will run arbitrary bash
commands,
and can be used to download / install a language.
Using multiple languages at once#
It may also be possible to combine multiple languages in a single environment. The details on how to accomplish this with all possible combinations are outside the scope of this guide. However we recommend that you take a look at the Multi-Language Demo repository for some inspiration.