The 2020.1 CSD Release includes the new and improved CSD Python API version 3.0.2. As with previous CSD Releases, this version of the CSD Python API can be used from the command line or within Mercury & Hermes with no additional installation steps required.
New features added since version 3.0.0 include:
We are pleased to announce that we have now released version 2.3.0 of the CSD Python API. We have updated the original post with links to these new versions of the API
We are pleased to announce that we have now released version 2.2.0 of the CSD Python API. We have updated the original post with links to these new versions of the API
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 (email@example.com) 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 firstname.lastname@example.org 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):