Installation#
The subsequently described installation steps are demonstrated as shell commands, where the path before the %
sign denotes the
directory in which the commands following the %
should be entered.
Clone the Repository#
First of all, clone the PyPSA-Eur repository using the version control system git
in the command line.
/some/other/path % cd /some/path
/some/path % git clone https://github.com/PyPSA/pypsa-eur.git
Install Python Dependencies#
PyPSA-Eur relies on a set of other Python packages to function.
We recommend using the package manager mamba to install them and manage your environments.
For instructions for your operating system follow the mamba
installation guide.
You can also use conda
equivalently.
The package requirements are curated in the envs/environment.yaml file. The environment can be installed and activated using
.../pypsa-eur % mamba env create -f envs/environment.yaml
.../pypsa-eur % mamba activate pypsa-eur
Note
The equivalent commands for conda
would be
.../pypsa-eur % conda env create -f envs/environment.yaml
.../pypsa-eur % conda activate pypsa-eur
Install a Solver#
PyPSA passes the PyPSA-Eur network model to an external solver for performing the optimisation. PyPSA is known to work with the free software
and the non-free, commercial software (for some of which free academic licenses are available)
For installation instructions of these solvers for your operating system, follow the links above. Commercial solvers such as Gurobi and CPLEX currently significantly outperform open-source solvers for large-scale problems, and it might be the case that you can only retrieve solutions by using a commercial solver. Nevertheless, you can still use open-source solvers for smaller problems.
Note
The rules cluster_network
and simplify_network
solve a quadratic optimisation problem for clustering.
The open-source solvers Cbc and GlPK cannot handle this. A fallback to Ipopt is implemented in this case, but requires
it to be installed. For an open-source solver setup install in your conda
environment on OSX/Linux
mamba activate pypsa-eur
mamba install -c conda-forge ipopt coincbc
and on Windows
mamba activate pypsa-eur
mamba install -c conda-forge ipopt glpk
For HiGHS, run
mamba activate pypsa-eur
mamba install -c conda-forge ipopt
pip install highspy
For Gurobi, run
mamba activate pypsa-eur
mamba install -c gurobi gurobi
Additionally, you need to setup your Gurobi license.
Handling Configuration Files#
PyPSA-Eur has several configuration options that must be specified in a
config/config.yaml
file located in the root directory. An example configuration
config/config.default.yaml
is maintained in the repository, which will be used to
automatically create your customisable config/config.yaml
on first use. More
details on the configuration options are in Configuration.
You can also use snakemake
to specify another file, e.g.
config/config.mymodifications.yaml
, to update the settings of the config/config.yaml
.
.../pypsa-eur % snakemake -call --configfile config/config.mymodifications.yaml
Warning
Users are advised to regularly check their own config/config.yaml
against changes
in the config/config.default.yaml
when pulling a new version from the remote
repository.