You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/writing-easyconfig-files.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -985,6 +985,18 @@ When updating a software version the patches in the easyconfig need to be checke
985
985
If they don't apply they might not be required anymore, when the upstream software fixed the issue, and can be removed.
986
986
Otherwise, they need to be adjusted for the changes in the source code.
987
987
988
+
For updates to easyconfigs containing Python packages (`PythonBundle`) you should check each of them if there is a newer version and if it is still required.
989
+
The latest version of a single Python package can usually be found on [PyPI](https://pypi.org).
990
+
To find the list of Python dependencies for another Python package to be installed by an easyconfig you can use the `findPythonDeps` script
991
+
distributed with EasyBuild.
992
+
This will also output the latest, compatible version of the found packages.
993
+
A good approach is to start from an easyconfig just containing the dependency on Python but no Python packages and then run the `findPythonDeps`.
994
+
For every Python package displayed by the script first search for a suitable easyconfig containing that package and add it as a dependency one by one.
995
+
That might require updating it from another toolchain.
996
+
Then run the script again to honor Python packages from that dependency and its dependencies.
997
+
Repeat until none of the remaining packages displayed are in any easyconfig and/or unique enough to the specific software that an own easyconfig would be useful.
998
+
Those can then be added to the `ext_list` of the easyconfig.
999
+
988
1000
Also keep in mind that changing the version of the software and/or the toolchain might reveal new bugs or incompatibilities.
989
1001
Some can be fixed or worked around by patches, often even with help from the maintainers of the software.
990
1002
But some software is simply not compatible with specific versions of compilers or other software.
0 commit comments