How do you include information like this when packaging the application? I’m guessing it should be stated somewhere in the pom or in a requirements file or such? We also need to use packages from other channels than the default anaconda one, so it needs to support that.
The python “application tutorial” referenced in Using GitHub — Developer Cloud Sandbox 1.0 documentation does not use conda for anything but the cioppy, and it does not even include the “requires” part which is included in the python archetype by default. Hence it does seem a bit outdated.
in dcs-hands-on, a ‘conda install’ command is present in the configuration section, under postinstallScriptlet, in the pom. However the file referenced does not exist.
The last solution seems like the one that is most “in synch” with the idea of using the pom to control it all. But it is partially incomplete due to missing the package file itself, and also documentation.
Do you have some best-practices, recommendations, or good examples on this matter?
actually, the first solution is the good one.
The command to list the installed conda packages, and put them in a file, is managed by a parent POM (i.e., dcs-python-parent). Then, it also includes a postinstall scriptlet section, to install them during the post install phase of the Application’s RPM.
It’s automatically done, leveraging the parent POM mentioned above.
We support a list of channels, and you can get the list with sudo conda info.
We recently added the support for conda-forge, with the lowest priority (because it’s not stable enough).
If you want to see the full processed POM, you can use the following command:
mvn help:effective-pom
Hope this helps,
Best regards
Cesare Rossi
the Operations Support team at Terradue