|MESSAGEix| requires GAMS.
Download the latest version of GAMS for your operating system; run the installer.
Note
MESSAGE-MACRO requires GAMS 24.8.1 or later (see :attr:`.MESSAGE_MACRO.GAMS_min_version`).
Add GAMS to the
PATHenvironment variable. This is required in order for |MESSAGEix| to run the mathematical model core.on Windows, in the GAMS installer…
- Check the box labeled “Use advanced installation mode.”
- Check the box labeled “Add GAMS directory to PATH environment variable” on the Advanced Options page.
on macOS or Linux, add the following line to your
.bash_profile(macOS) or.bashrc(Linux):export PATH=$PATH:/path/to/gams-directory-with-gams-binary
After installing GAMS, we recommend that new users install Anaconda, and then use it to install |MESSAGEix|. Advanced users may choose to install |MESSAGEix| from source code (next section).
Install Python via Anaconda. We recommend the latest version, i.e., Python 3.6+.
Open a command prompt. We recommend Windows users use the “Anaconda Prompt” to avoid permissions issues when installing and using |MESSAGEix|. This program is available in the Windows Start menu after installing Anaconda.
Install the
message-ixpackage:$ conda install -c conda-forge message-ix
Install :doc:`ixmp <ixmp:install>` from source.
(Optional) If you intend to contribute changes to |MESSAGEix|, first register a Github account, and fork the message_ix repository. This will create a new repository
<user>/message_ix. (Please also see :doc:`contributing`.)Clone either the main repository, or your fork; using the Github Desktop client, or the command line:
$ git clone git@github.com:iiasa/message_ix.git # or: $ git clone git@github.com:USER/message_ix.git
Open a command prompt in the
message_ixdirectory and type:$ pip install --editable .
(Optional) Run the built-in test suite to check that |MESSAGEix| functions correctly on your system:
$ pip install --editable .[tests] $ py.test tests
If you get an error containing “No JVM shared library file (jvm.dll) found” when creating a :class:`Platform` object (e.g. mp = ix.Platform(driver='HSQLDB')), it is likely that you need to set the JAVA_HOME environment variable (see for example these instructions).