New cylc install

I need to install cylc on a new HPC system and I seem to be stuck. The system default python does not include PyGTK and the PyGTK distribution no longer supports python2 as far as I can tell - also I’ve been through the nightmare of trying to install this one too many times.

So I tried installing conda and then cylc 8 but conda spent about 12 hours analyzing conflicts and in the end did not install or offer any clues on how to proceed.

I think maybe I’ve made progress - the cylc 8 release notes indicate that the cylc1 conda environment is optional, so I skipped that step. Tried again including that step this time and I seem to be making more progress.

PyGTK is an optional dependency that is only required for the GUIs so you can install Cylc without it, the GUIs won’t work but everything else will.

During the upgrade from GTK2 to GTK3 the PyGTK project renamed itself to PyGObject.

  • PyGTK is Python2 GTK2
  • PyGObject is Python3 GTK3 (though once supported Python2 too).

You should still be able to install a Python2 PyGTK if the HPC OS provides a package (which they might not as it is getting old).

Often we run our workflows (suites) on dedicated servers from where jobs are submitted to the HPC. If this arrangement would work then the best place to install the GUIs is on these servers rather than on the HCP which might be easier.

Otherwise if it’s necessary to run the workflows on an HCP login node then Rose Bush might be an option for you. It is a web-based Cylc monitoring tool which shows tasks, jobs, statuses, job out & err files, etc, but lacks control functionality.

Cylc8 is not quite ready for use and the version uploaded to Conda is a bit out of date. We will be making a beta release soon but it’s not quite ready yet.

Not going to be able to get a dedicated server. I’ll see if I can use cylc 7 cli and look into the Rose Bush package for monitoring. Thanks

Don’t know if this would help, if you’re able to SSH to the machine the option of running workflows locally, submitting jobs to the remote resource over SSH might also be an option, see the “poll” and “ssh” option in the task communication method.

https://cylc.github.io/cylc-doc/7.9.1/html/appendices/site-user-config-ref.html#hosts-host-task-communication-method

Out of interest, what issues were you having with Conda, we’ve not made much use of installing via Conda yet, would be good to get any problems sorted out before the beta release.

This worked fine for me, should install for Linux64 platforms:

$ conda install -c conda-forge cylc

As I said, in my initial attempt to install cylc8 I did not try to define an environment first, conda spent a full day analyzing conflicts and in the end did not install. I tried again but created a conda environment for cylc first - this installed with no problem. So I have cylc8 installed and just need to figure out how to setup an ssh tunnel so I can see localhost:8000 from my desktop.

Hi Jim,

The Cylc 7 PyGTK dependency is indeed a nightmare if you have to install it yourself. That’s why we could never do proper Python packaging for Cylc 7. Luckily, Cylc 8 has (will have) no such problem.

in my initial attempt to install cylc8 I did not try to define an environment first, conda spent a full day analyzing conflicts

If you “did not try to define an environment” then I presume you were installing into some central uber-environment with loads of other conflicting stuff in it, hence the environment solver spending all day trying to work out how add yet another package.

The beauty of virtual environments is you can avoid such conflicts by automatically installing just what you need for a particular package, into a dedicated environment for that package.