<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="margin:0px;font-size:12pt">Hi Jan,</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="margin:0px;font-size:12pt"><br>
</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="margin:0px;font-size:12pt">an old DIY method:</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="margin:0px;font-size:12pt"><br>
</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="margin:0px;font-size:12pt">Once you have all the dependencies in place (using either method):</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="margin:0px;font-size:12pt">
<ul>
<li><span style="margin:0px">create a directory where you want to build cctbx and make it current (assuming here it is on the same level as 'modules' dir)</span></li><li><span style="margin:0px">python_of_your_choice ../modules/cctbx_project/libtx/configure.py smtbx fast_linalg anything_else</span></li><li><span style="margin:0px">Linux - 'source setpaths.sh', Windows - 'setpaths.bat'</span></li><li><span style="margin:0px">libtbx.scons -jN, N - number of simultaneous jobs to run</span></li></ul>
<div style="margin:0px"><span style="margin:0px">To get the clean bundle:</span></div>
<div style="margin:0px"><span style="margin:0px">libtbs.python ../modules/cctbx_project/libtbx/bundle/copy_all.py cctbx</span></div>
<div style="margin:0px"><span style="margin:0px">This will create two directories - cctbx_build and cctbx_sources that include only the required files.</span></div>
<div style="margin:0px"><span style="margin:0px"><br>
</span></div>
<div style="margin:0px"><span style="margin:0px">Cheers,</span></div>
<span style="margin:0px"><span style="margin:0px">Oleg.</span></span></div>
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> cctbxbb-bounces@phenix-online.org &lt;cctbxbb-bounces@phenix-online.org&gt; on behalf of Nicholas Devenish &lt;ndevenish@gmail.com&gt;<br>
<b>Sent:</b> 09 July 2021 12:44<br>
<b>To:</b> cctbx mailing list &lt;cctbxbb@phenix-online.org&gt;<br>
<b>Subject:</b> Re: [cctbxbb] Is there a schedule for the python3 migration or can cctbx.python already be built to be/use a python3 interpreter?</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hi Jan,<br>
<br>
Not an expert on cctbx bootstrap - dials uses it's own. But I think<br>
you need to explicitly pass &quot;--python 37&quot;, and possibly &quot;--use_conda&quot;<br>
to the cctbx bootstrap.py; I don't know if the non-conda bootstrap was<br>
ever updated to use python 3. I can't imagine the python 3.7 non-conda<br>
build is very widely used at this point.<br>
<br>
To slightly elaborate on what Graeme said about DIALS support - for<br>
DIALS/dxtbx we do support 3.6+, but will be dropping 3.6 for 3.7+<br>
after the next release (mid-august), as we are now following the numpy<br>
deprecation schedule:<br>
<a href="https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table">https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table</a><br>
<br>
Nick<br>
<br>
On Fri, Jul 9, 2021 at 12:30 PM Jan M. Simons &lt;marten@ifk.rwth-aachen.de&gt; wrote:<br>
&gt;<br>
&gt; Am 09.07.21 um 13:16 schrieb Winter, Graeme (DLSLtd,RAL,LSCI):<br>
&gt; &gt; With DIALS we use python3 exclusively - have done so for a long while - everything we use from cctbx seems largely OK with this<br>
&gt; &gt;<br>
&gt; &gt; Python2 is dead to me, and many other dials devs<br>
&gt;<br>
&gt; Oh, that's great to hear, I really hope to have everything Python3.6+<br>
&gt; soon as well.<br>
&gt;<br>
&gt; Still bootstrap.py seems to default to building a python 2.7.18<br>
&gt; interpreter? Is this just for legacy backwards compatibility?<br>
&gt;<br>
&gt; All the best<br>
&gt; Jan<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; All the best Graeme<br>
&gt; &gt;<br>
&gt; &gt;&gt; On 9 Jul 2021, at 11:49, Jan M. Simons &lt;marten@ifk.rwth-aachen.de&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Cheers,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I'm getting more and more concerned with the state of cctbx and the<br>
&gt; &gt;&gt; impending removal of python2 from quite a lot of major linux<br>
&gt; &gt;&gt; distributions in the near future.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; So far I have not managed to find documentation on how to build the<br>
&gt; &gt;&gt; cctbx to then use a python3 interpreter for the cctbx.python script, but<br>
&gt; &gt;&gt; I would really like to have this, as I'd have to check/port my code<br>
&gt; &gt;&gt; that's using cctbx modules (mostly smtbx and xrax) to python3 as well,<br>
&gt; &gt;&gt; so that it does not get obsoleted.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; So is it possible to build cctbx as a python3 module by now and if so<br>
&gt; &gt;&gt; how would one be able to do this?<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks for your support<br>
&gt; &gt;&gt; Jan<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; cctbxbb mailing list<br>
&gt; &gt;&gt; cctbxbb@phenix-online.org<br>
&gt; &gt;&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; cctbxbb mailing list<br>
&gt; cctbxbb@phenix-online.org<br>
&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
<br>
On Fri, Jul 9, 2021 at 12:40 PM Winter, Graeme (DLSLtd,RAL,LSCI)<br>
&lt;Graeme.Winter@diamond.ac.uk&gt; wrote:<br>
&gt;<br>
&gt; Dials has a custom bootstrap which gives you a recent 3 build. I forget if it’s 3.9 or some other. But it’s certainly up to date and supported.<br>
&gt;<br>
&gt; We base our build environment on conda rather than building everything locally which really speeds things up<br>
&gt;<br>
&gt; All the best Graeme<br>
&gt;<br>
&gt; &gt; On 9 Jul 2021, at 12:30, Jan M. Simons &lt;marten@ifk.rwth-aachen.de&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; Am 09.07.21 um 13:16 schrieb Winter, Graeme (DLSLtd,RAL,LSCI):<br>
&gt; &gt;&gt; With DIALS we use python3 exclusively - have done so for a long while - everything we use from cctbx seems largely OK with this<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Python2 is dead to me, and many other dials devs<br>
&gt; &gt;<br>
&gt; &gt; Oh, that's great to hear, I really hope to have everything Python3.6+<br>
&gt; &gt; soon as well.<br>
&gt; &gt;<br>
&gt; &gt; Still bootstrap.py seems to default to building a python 2.7.18<br>
&gt; &gt; interpreter? Is this just for legacy backwards compatibility?<br>
&gt; &gt;<br>
&gt; &gt; All the best<br>
&gt; &gt; Jan<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; All the best Graeme<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; On 9 Jul 2021, at 11:49, Jan M. Simons &lt;marten@ifk.rwth-aachen.de&gt; wrote:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Cheers,<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; I'm getting more and more concerned with the state of cctbx and the<br>
&gt; &gt;&gt;&gt; impending removal of python2 from quite a lot of major linux<br>
&gt; &gt;&gt;&gt; distributions in the near future.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; So far I have not managed to find documentation on how to build the<br>
&gt; &gt;&gt;&gt; cctbx to then use a python3 interpreter for the cctbx.python script, but<br>
&gt; &gt;&gt;&gt; I would really like to have this, as I'd have to check/port my code<br>
&gt; &gt;&gt;&gt; that's using cctbx modules (mostly smtbx and xrax) to python3 as well,<br>
&gt; &gt;&gt;&gt; so that it does not get obsoleted.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; So is it possible to build cctbx as a python3 module by now and if so<br>
&gt; &gt;&gt;&gt; how would one be able to do this?<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Thanks for your support<br>
&gt; &gt;&gt;&gt; Jan<br>
&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; cctbxbb mailing list<br>
&gt; &gt;&gt;&gt; cctbxbb@phenix-online.org<br>
&gt; &gt;&gt;&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; cctbxbb mailing list<br>
&gt; &gt; cctbxbb@phenix-online.org<br>
&gt; &gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt;<br>
&gt; --<br>
&gt; 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.<br>
&gt; Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
&gt; 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.<br>
&gt; 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<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; cctbxbb mailing list<br>
&gt; cctbxbb@phenix-online.org<br>
&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
<br>
_______________________________________________<br>
cctbxbb mailing list<br>
cctbxbb@phenix-online.org<br>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
</div>
</span></font></div>
</body>
</html>