Skip to content

Commit 4eb4274

Browse files
committed
Add notes about Python packages
1 parent 953d30f commit 4eb4274

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

docs/writing-easyconfig-files.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -985,6 +985,18 @@ When updating a software version the patches in the easyconfig need to be checke
985985
If they don't apply they might not be required anymore, when the upstream software fixed the issue, and can be removed.
986986
Otherwise, they need to be adjusted for the changes in the source code.
987987
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+
9881000
Also keep in mind that changing the version of the software and/or the toolchain might reveal new bugs or incompatibilities.
9891001
Some can be fixed or worked around by patches, often even with help from the maintainers of the software.
9901002
But some software is simply not compatible with specific versions of compilers or other software.

0 commit comments

Comments
 (0)