.. SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 .. _installation: ########################################## 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. .. code:: bash /some/other/path % cd /some/path /some/path % git clone https://github.com/PyPSA/pypsa-eur.git .. _deps: 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 .. code:: bash .../pypsa-eur % mamba env create -f envs/environment.yaml .../pypsa-eur % mamba activate pypsa-eur .. note:: The equivalent commands for ``conda`` would be .. code:: bash .../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 - `HiGHS `__ - `Cbc `__ - `GLPK `__ (`WinGLKP `__) - `SCIP `__ and the non-free, commercial software (for some of which free academic licenses are available) - `Gurobi `__ - `CPLEX `__ - `FICO Xpress Solver `__ 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. .. seealso:: `Instructions how to install a solver in the documentation of PyPSA `__ .. note:: The rules :mod:`cluster_network` and :mod:`simplify_network` solve a mixed-integer quadratic optimisation problem for clustering. The open-source solvers HiGHS, Cbc and GlPK cannot handle this. A fallback to SCIP is implemented in this case, which is included in the standard environment specifications. For an open-source solver setup install for example HiGHS **and** SCIP in your ``conda`` environment on OSX/Linux. To install the default solver Gurobi, run .. code:: bash mamba activate pypsa-eur mamba install -c gurobi gurobi Additionally, you need to setup your `Gurobi license `__. .. _defaultconfig: Handling Configuration Files ============================ PyPSA-Eur has several configuration options that users can specify in a ``config/config.yaml`` file. The default configuration ``config/config.default.yaml`` is maintained in the repository. More details on the configuration options are in :ref:`config`. You can also use ``snakemake`` to specify another file, e.g. ``config/config.mymodifications.yaml``, to update the settings of the ``config/config.yaml``. .. code:: bash .../pypsa-eur % snakemake -call --configfile config/config.mymodifications.yaml