abess on Python, you can simply get the stable version with:
$ pip install abess
To install stable version into R environment, run the command:
This page gives instructions on how to build and install
abess from the
source code. If the instructions do not help for you, please feel free
to ask questions by opening an
First of all, clone our the latest github project to your device:
$ git clone https://github.com/abess-team/abess.git $ cd abess
Next, there have different processing depend on the programming langulage you prefer.
abess, some dependent libraries should be installed
first, which may be a little different in
$ sudo apt install bash(for Ubuntu, but other Linux systems are similar);
$ choco install git(using Chocolatey), or manually install the software and add them into PATH; Windows user will also need to download Microsoft C++ Build Tools, and then install the "Desktop development with C++" module inside.
$ brew install bash(using Homebrew).
Then, you need to install
pip install pybind11 (or other methods).
After that, we can manually install
abess by conducting command:
$ cd ./python $ pip install .
$ cd ./python $ python setup.py install --user
If it finishes with
Finished processing dependencies for abess, the
installation is successful.
Alternatively, if you would like to develop
abess in editable mode
(it is very convenient for development):
$ cd ./python $ pip install -e .
$ cd ./python $ python setup.py develop --user
Note that some may meet "Permission denied" problem like this issue
when installing with
pip install -e .. There are three solutions:
1. run the command as administrator;
2. feel free to use
python setup.py develop --user instead;
3. try to edit
setup.py like here (not recommend).
To install the development version, some dependencies need to be installed.
abess, some dependencies should be installed
first, which may be a little different in different platforms:
$ sudo apt install autoconf(for Ubuntu, other Linux systems are similar);
Windows: install Rtools.
$ brew install autoconf.
Then, you need to install R library dependencies
RcppEigen via conducting
install.packages(c("Rcpp", "RcppEigen")) in R console.
After installing dependencies, run the following code in terminal/bash:
If it finishes with
* DONE (abess), the installation is successful.
Our core C++ code is based on some dependencies:
Eigen (version 3.3.4): a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
Spectra (version 1.0.0): a header-only C++ library for large scale eigenvalue problems.
They would be automatically included while installing the
To support OpenMP parallelism in Cpp, the dependence for OpenMP should be install. Actually, many compliers and tools have supported and you can check here.
What is more, if you receive a warning like “Unknown option ‘-fopenmp’” while installing abess, it means that OpenMP has not been enabled. Without OpenMP, abess only use a single CPU core, leading to suboptimal learning speed.
To enable OpenMP:
In Windows, Visual C++ or many other C++ compliers can support OpenMP API, but you may need to enable it manually in additional features (based on the complier you use).
In Linux, the dependence would be supported if GCC is installed (version 4.2+).
In MacOS, the dependence can be installed by:
$ brew install llvm $ brew install libomp
Some basic Python
are required for
abess. Actually, they can be found on
abess/python/setup.py and automatically installed during the
pybind11: seamless operability between C++11 and Python
numpy: the fundamental package for array computing with Python.
scipy: work with NumPy arrays, and provides many user-friendly and efficient numerical routines.
scikit-learn: a Python module for machine learning built on top of SciPy.
pandas: support data manipulation and input.
Furthermore, if you want to develop the Python packages, some additional packages should be installed:
The R version should be 3.1.0 and newer in order to support C++11.
R package relies on limited R packages dependencies:
Furthermore, if you would to develop the R package, it would be better to additionally install: