Code Ocean offers many base environments with different languages pre-installed. You can also use the environment & configuration options to install multiple languages in one compute capsule. Available package managers will suffice for many common languages; less common languages will likely require a postInstall script.
Which environment should I start with?
are not using a pre-installed language, use a base Ubuntu (18.04 or 16.04) environment;
need proprietary software, such as MATLAB or Stata, start from an environment with proprietary language;
use a GPU, select an environment with GPU access (these will be explicitly labeled as such, or will reference CUDA or a deep learning framework);
need general flexibility, start from an image with Conda these will have Python as well).
Installing a language using package managers:
The following are all available as apt-get packages:
build-essentialfor the C/C++ toolchain (gcc/g++, make, etc.);
r-basefor R (note:
r-base-devwill help you install R packages, and we also recommend adding a MRAN snapshot for R 3.4.4, which is what is available via apt-get as of this writing);
python-pipfor Python 2 and the pip installer;
python3-pipfor Python 3 and the pip3 installer;
perlfor Perl (add
luajitfor Lua (add
Once you add R or python, the commands
python will become available, respectively.
Installing langauges through Conda
If your base image has a conda installer, or if you add it via postInstall script, you can add languages and language-specific packages via supplemental conda channels.
pythonis available by default (you can add
pythonas a package, however, and specify the version (e.g.
2.7.15to install a different python version);
luaare available through conda-forge;
ris available from channel r.
Installing languages via the postInstall script:
See New and additional languages, toolboxes and compilers for examples such as D, GHDL, or gcc 7.
What if I need proprietary software that isn't currently supported?
Contact us at firstname.lastname@example.org and we will be happy to look into it.