Hi fellow cctbx developers, unless I am missing something, nobody has written a “setup.py” to install the cctbx with distutils in Python standard site-packages? If so, I am planning to contribute one as this would make it easier for us at Bruker. I am just asking in case I would duplicate existing work. Best wishes, Luc
Luc Not aware of anyone who has done it, but I have met about 10^4 people who think this would be *a good thing* so please keep us posted on progress; I have met people for whom this is a reason *not* to use cctbx Thank you in advance :) Graeme -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Luc Bourhis Sent: 09 May 2016 09:26 To: cctbx mailing list Subject: [cctbxbb] Installation with distutils? Hi fellow cctbx developers, unless I am missing something, nobody has written a “setup.py” to install the cctbx with distutils in Python standard site-packages? If so, I am planning to contribute one as this would make it easier for us at Bruker. I am just asking in case I would duplicate existing work. Best wishes, Luc _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb -- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
Hi Graeme,
Not aware of anyone who has done it, but I have met about 10^4 people who think this would be *a good thing* so please keep us posted on progress; I have met people for whom this is a reason *not* to use cctbx
Yes, I have had the same experience too.
Thank you in advance :)
So first thing is to sort out the dependencies. I have just noticed that ccp4io_adaptbx does not feature any licence. Since it needs to be distributed along with ccp4io, boost and scons to get a distro which can be installed with distutils out of the box, can I add the usual BSD licence to ccp4io_adaptbx?
Hi Luc, this would be a great thing to have, could you write more about your plans? I guess you'll wrap the existing scons-based build system rather than starting from scratch? How are you going to implement "setup.py install"? We considered adding setup.py here, but I thought it's not worth the effort and it won't work well anyway. I'd like to be proved wrong. My thinking was that - redoing everything without scons is a lot of effort for little benefit, and it would quickly get out-of-sync with the main build system if it's not actively maintained - wrapping cctbx/scons build system won't work well because distutils options won't map well to the scons options. And additional layer of indirection would be confusing. I mean distutils-like system that doesn't really work like distutils could be more frustrating than having to explicitly use cctbx build commands. But maybe I'm wrong here. Marcin
Hi Marcin, I will indeed just wrap up our beloved configure and build steps within setup.py. My plan is to install the following hierarchy: site-packages |—— cctbx_distro | |—— cctbx_build | |—— cctbx_project |—— cctbx.pth where cctbx.pth would contain cctbx_distro/cctbx_build/lib cctbx_project/boost_adaptbx cctbx_project/libtbx/pythonpath Finally, I would add to site-packages/sitecustomize the following: import os; os.environ[‘LIBTBX_BUILD’] = path/to/site-packages I just need to refresh my mind about how to get at those paths!
We considered adding setup.py here, but I thought it's not worth the effort and it won't work well anyway. I'd like to be proved wrong. My thinking was that - redoing everything without scons is a lot of effort for little benefit, and it would quickly get out-of-sync with the main build system if it's not actively maintained
Total agreement here.
- wrapping cctbx/scons build system won't work well because distutils options won't map well to the scons options. And additional layer of indirection would be confusing. I mean distutils-like system that doesn't really work like distutils could be more frustrating than having to explicitly use cctbx build commands. But maybe I'm wrong here.
I do not plan to support the wealth of setuptools command-line options, like building in place, or creating those fancy development installation. But 99% of the time people are just interested in % python setup.py install so I think there is a case for providing that. That would be the first milestone. The second milestone would be to make sure the cctbx can then be installed with easy_install or pip, which may require a bit more support for the arcanes of setuptools. I don’t think it will be inordinately difficult. Best wishes, Luc
participants (3)
-
Graeme.Winter@diamond.ac.uk
-
Luc Bourhis
-
Marcin Wojdyr