Skip to content

Commit

Permalink
Merge pull request #135 from branfosj/requirements
Browse files Browse the repository at this point in the history
only list requirements once on installation page
  • Loading branch information
boegel committed Apr 12, 2023
2 parents 7967ee5 + 0c26348 commit 84b1692
Showing 1 changed file with 21 additions and 34 deletions.
55 changes: 21 additions & 34 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,22 @@ Notes on other ways of installing EasyBuild are available under section [Alterna

The only strict requirements are:

* a **GNU/Linux distribution** as operating system
* **Python**:
* Python 2.7, or Python 3.x (>= 3.5). Since [Python 2 is end-of-life](https://www.python.org/doc/sunset-python-2/) we recommend
using Python 3 if it is available
* **note**: only EasyBuild v4.0 (or newer) is compatible with Python 3, earlier EasyBuild releases require Python 2
* no Python packages other than the ones included in the Python standard library are strictly required
* for some specific features, additional Python packages are needed though, see [Optional Python packages][optional_python_packages]
* a **GNU/Linux** distribution as operating system
* some common shell tools are expected to be available, see [Required shell tools][required_shell_tools]
* [Python](https://python.org):
* Python 2.7, or Python 3.x (>= 3.5);
* since [Python 2 is end-of-life](https://www.python.org/doc/sunset-python-2/) we strongly recommend
using Python 3 if it is available;
* only EasyBuild v4.0 (or newer) is compatible with Python 3, earlier EasyBuild releases require Python 2;
* EasyBuild 5.0 will require Python >= 3.6;
* no third-party Python packages are strictly required (the Python standard library is sufficient);
* for some *specific* EasyBuild features additional Python packages are required however, see [Optional Python packages][optional_python_packages];
* a **modules tool**: Tcl(/C) environment modules or Lmod
* the actual module command/script (`modulecmd`, `modulecmd.tcl` or `lmod`) *must* be available via `$PATH`
* see [Required modules tool][required_modules_tool] for more details
* the actual modules tool *must* be available via `$PATH`, see [Required modules tool][required_modules_tool]
* a C/C++ compiler (e.g., `gcc` and `g++`)
* only required to build and install GCC with, or as a dependency for the Intel compilers, for example

For more information on (optional) dependencies, see [Dependencies][dependencies].
For more information on dependencies, see [Dependencies][dependencies].


## Using pip to Install EasyBuild {: #pip }
Expand Down Expand Up @@ -303,28 +307,12 @@ module load EasyBuild
The environment module file that was generated by EasyBuild specifies all changes that need to be made.


## Dependencies {: #dependencies }
## Required Dependencies {: #dependencies }

EasyBuild has a couple of dependencies, some are optional.
This section gives further information on the [required dependencies][requirements].


### Required dependencies {: #required_dependencies }

* a **GNU/Linux** distribution as operating system
* some common shell tools are expected to be available, see [Required shell tools][required_shell_tools]
* [Python](https://python.org):
* Python 2.7, or Python 3.x (>= 3.5);
* since [Python 2 is end-of-life](https://www.python.org/doc/sunset-python-2/) we strongly recommend
using Python 3 if it is available;
* no third-party Python packages are strictly required (the Python standard library is sufficient);
* for some *specific* EasyBuild features additional Python packages are required however, see [Optional Python packages][optional_python_packages];
* a **modules tool**: Tcl(/C) environment modules or Lmod
* the actual modules tool *must* be available via `$PATH`, see [Required modules tool][required_modules_tool]
* a C/C++ compiler (e.g., `gcc` and `g++`)
* only required to build and install GCC with, or as a dependency for the Intel compilers, for example


#### Required shell tools {: #required_shell_tools }
### Required shell tools {: #required_shell_tools }

<!-- XXX - UPDATE BY VERSION, below -->

Expand All @@ -342,7 +330,7 @@ A couple of shell tools may be required, depending on the particular use case (i
* `sysctl`, for querying system characteristics (only required on non-Linux systems)


#### Required modules tool {: #required_modules_tool }
### Required modules tool {: #required_modules_tool }

EasyBuild not only generates module files to be used along with the software it installs,
it also depends on the generated modules, mainly for resolving dependencies.
Expand Down Expand Up @@ -388,17 +376,16 @@ Additional notes:
[Installing Lmod without root permissions][installing_lmod].


#### Required Python packages {: #required_python_packages }
### Required Python packages {: #required_python_packages }

Since EasyBuild v4.0, *no* Python packages outside of the Python standard library are required.


### Optional dependencies
## Optional dependencies

Some dependencies are optional and are only required to support certain features.


#### Optional Python packages {: #optional_python_packages }
### Optional Python packages {: #optional_python_packages }

* [GC3Pie](https://pypi.org/project/gc3pie), only needed when using `GC3Pie` as a backend for `--job`,
see also [Submitting jobs using --job][submitting_jobs];
Expand Down

0 comments on commit 84b1692

Please sign in to comment.