Firstly I should mention that while we support both Windows 10 and Ubuntu 16, we support the native versions of these - that does not include the Ubuntu console in Windows as this is an emulation and could have unexpected results. If at all possible we'd always recommend using the native version of the API for your operating system, which we fully test on before release here at CCDC.
That said, for the linux 2019 Update 1 release of the CSD System with CSD Python API 2.1.0 we have changed the required LD_LIBRARY_PATH slightly. It should now be:
$ export LD_LIBRARY_PATH=$PYTHONHOME/lib:$PYTHONHOME/lib/python2.7/site-packages/ccdc/_lib:$LD_LIBRARY_PATH
where $PYTHONHOME is the location of your Python, in your case /home/<userid>/CCDC/Python_API_2019/miniconda
You may find it easier to first activate the conda environment that we set up as this should set this and other requirements. To do so, go to /home/<userid>/CCDC/Python_API_2019/miniconda/bin and run
$ source activate
For more details see the API installation notes (https://downloads.ccdc.cam.ac.uk/documentation/API/installation_notes.html) and also section 13 of the CSD System installation notes (https://www.ccdc.cam.ac.uk/support-and-resources/ccdcresources/CSD-ReleaseInstallNotes-2019.pdf).
This does look like an issue with installation rather than an issue with the API itself. Could you please forward the csds_install.log from the CSD_2019 folder of your installation to our support email (firstname.lastname@example.org) and we should then be able to help you further.
We are pleased to announce that we have now released version 2.1.0 of the CSD Python API for both Python 2.7 and Python 3.7. We have updated the original post with links to these new versions of the API
This forum is for queries regarding the CSD Python API. For help with ConQuest can you please re-send your message to our support team at email@example.com who should be able to help you further.
The CSD Python API version 2.0 does require access to a display - this does not need to be a physical display though. We would recommend use of xdummy as a virtual display for this purpose.
It is also possible to start the API without a display by setting the environment variable CCDC_PYTHON_API_NO_QAPPLICATION to any value - however, we do not support use of the API in this manner, as parts of the API that require access to a display will fail.
You do also appear to have a couple of other issues when importing ccdc:
1. The error "QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0". The API uses the standard environment variable XDG_RUNTIME_DIR to define a temporary location - it may be that you do not have proper permissions for /run/user/1000, which is likely what XDG_RUNTIME_DIR is set to for the user you are logged in as, so you can either look at setting permissions for that directory properly, or else set XDG_RUNTIME_DIR to a different directory you know you have write permission for.
2. The more worrying error is "python: relocation error: /PUBLIC/apps/anaconda2//lib/python2.7/site-packages/ccdc/_lib/libQt5XcbQpa.so.5: symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference". The version of libQt5Core.so.5 we bundle with the API should contain the _ZdlPvm symbol, so the error suggests that it is linking to another version of libQt5Core.so.5. Have you correctly set LD_LIBRARY_PATH so that /PUBLIC/apps/anaconda2//lib/python2.7/site-packages/ccdc/_lib is the first directory? That should ensure the correct version is picked up.
If you are using $PYTHONHOME in your .bashrc or similar then it will need to be set beforehand - to keep things simple you may want to use the explicit value instead when setting LD_LIBRARY_PATH so you don't need to worry about PYTHONHOME. So a line such as
However, your error makes me suspect that there is a library issue with your desktop software when it loads if you do this - it's possible that the desktop requires different versions of some libraries we include with our API, and this export command will cause our library location to be searched first for anything that you subsequently load (as it is first in the list). This can break other software, so it's really best to only set this environment when using python with our API.
What I'd suggest using instead is python's virtualenv. This allows you to set up a virtual python environment that you can source at the command line, and that virtual environment can include environment variables. You would then only source this environment when you're working with python and our API. Some documentation on virtualenv can be found here:
Once created, you would need to edit the activate or postactivate script for the created environment to also include your export LD_LIBRARY_PATH command. This is a good guide to doing that (with virtualenv and virtualenvwrapper):
These forums are for discussion and help with the CSD Python API specifically, rather than the other components of the CSD System such as ConQuest. For help with these we'd recommend contacting our user support team (firstname.lastname@example.org).
However, for this issue I'd recommend the following:
1. Open a Terminal window
rm -rf csds_data
That should then allow ConQuest to start. If problems persist, as mentioned above please do contact CCDC support for further help.
For issues such as this with ConQuest, the following steps will usually allow the program to open up successfully again:
1. Open a terminal window
2. In the terminal window, type the following three commands:
rm -rf csds_data
As this forum is for CSD Python API discussion, rather than ConQuest, I will now close this thread, but if you do continue to experience problems please do contact us at email@example.com
Yes this should be entirely possible and the method is indeed similar to a standard PC install. The main difference is that you'll want to install to a location that is accessible by each node in the cluster (clusters usually have disk space that is accessible by all nodes). The easiest way to install the CSD Python API is to install the CSD System sofware on to the cluster - this installs the CSDS software, CSDS data and also the CSD Python API with its own miniconda distribution and the CSD Python API pre-installed and ready for use.
You can also perform a more 'advanced' install into your own Python distribution using the pip or conda packages we supply. This will need at least a data CSDS install via the above mentioned installer in order to use the API. See https://www.ccdc.cam.ac.uk/forum/csd_python_api/General/6a879cb7-a497-e611-bb54-005056975d8a for more details.
For your cluster the main issue you will likely encounter is licensing - each computer node of the cluster will need to be registered, as CSD licensing is based on node-locked registration. We do have a batch registration tool that should help you to automate this registration - see https://www.ccdc.cam.ac.uk/support-and-resources/support/case/?caseid=c9c53a6b-e7e6-e611-8591-005056868fc8