github_url: | https://github.com/adc-connect/adcc/blob/master/docs/installation.rst |
---|
For running ADC calculations with adcc you will need two things: adcc itself and a :ref:`host program<install-hostprogram>` (i.e. SCF code) of your choice.
We have some more detailed guides for installing adcc :ref:`install-conda`, :ref:`install-pip-debian` and :ref:`install-pip-macos`, where we know things should be working. If you encounter problems see :ref:`troubleshooting`. Please get in touch by opening an issue if you cannot get adcc to work.
Some specialty features of adcc require extra dependencies (e.g., Pandas and Matplotlib), see :ref:`optional-dependencies` for details.
The conda binary packages can be installed using the conda-forge channel:
conda install -c conda-forge adcc
This should work on a recent Debian, Ubuntu or macOS and with python 3.7, 3.8 or 3.9.
Warning
As of version 0.15.13, adcc is deployed via conda-forge. Before that, we maintained our own Anaconda channel, which is now discontinued. Thus, we highly recommend you use the conda-forge version from now on.
For installing adcc from PyPi, using pip
,
the procedure for Debian / Ubuntu and :ref:`macOS <install-pip-macos>` differs.
For Debian and Ubuntu:
Install openblas: Make sure you have the openblas BLAS library installed. This library is reasonably wide-spread, so there is a good chance it may already be installed on your system. If not, you can easily install it using
sudo apt-get install libopenblas-base
Install compilation requirements: For compiling the Python extensions of adcc, you need to have the the
python
development headers and some essential build packages installed. This can be achieved viasudo apt-get install python3-dev build-essential
Install adcc:
pip install pybind11 # Install pybind11 first to suppress some error messages pip install adcc
Attention!
macOS support via pip covers Catalina (10.15) and Big Sur (11.0). For other macOS versions, please :ref:`install adcc using conda <install-conda>`.
The installation on macOS requires a clang
compiler.
Make sure to have XCode and the command line tools installed.
Then install adcc using pip
:
pip install pybind11 # Install pybind11 first to suppress some error messages
pip install adcc
Since adcc does not contain a self-consistent field (SCF) code you should install one of the supported SCF programs needs as well. Without expressing any particular preference, this documentation will mostly focus on Psi4 and PySCF, since these are very easy to obtain, install and use. If you prefer, feel free to install molsturm or veloxchem instead. Also note, that connecting to further host programs is not too hard and can be achieved via a dictionary or an HDF5 file, see :ref:`hostprograms` for details.
Either use the conda binary distribution
conda install -c psi4 psi4
or use the version packaged in Debian or Ubuntu via
sudo apt-get install psi4
A PySCF installation can be achieved following the
PySCF quickstart guide.
E.g. if you are using pip
this boils down to
pip install pyscf
Congratulations! With these packages installed you are all set to run ADC calculations. Feel free to take a look at the :ref:`performing-calculations` section for learning how to use adcc in practice or take a look at our examples folder on github.
Finally, if you are interested in developing or contributing to adcc, even the better! In this case we hope the :ref:`devnotes` will provide you with some useful pointers to get started.
- Matplotlib: Plotting spectra with :func:`adcc.ElectronicTransition.plot_spectrum`
- Pandas: Export to pandas.DataFrame via :func:`adcc.ExcitedStates.to_dataframe`
- Using pip: Either install optional dependencies directly with adcc via
pip install adcc[analysis]
or run manually for each package, e.g.,pip install matplotlib
- Using conda: Install each package manually, e.g.,
conda install matplotlib
.
Note that all other core features of adcc still work without these packages installed.
If the installation of adcc fails due to an issue with compiling the python extension, check the following:
- Make sure your
pip
uses the correct compiler. On Linux we only supportgcc
and notclang
. On macOS we only support Appleclang
and notgcc
. To enforce a compiler, set the environment variablesCC
andCXX
to the full path of your C and C++ compilers, respectively.