[NLPL Task Force (A)] [rt.uio.no #3243738] XY support in Python3

Stephan Oepen via RT hpc-drift at usit.uio.no
Wed Jan 16 22:17:48 UTC 2019


hi sabry,

i was planning to give your new 3.7 a shot, i.e. start rebuilding our
derived modules for NLPL (rather than try to reatroactively fix based XZ
support based on 3.5).  however, it seems ‘virtualenv’ is not available in
python3/3.7.0.  is that something you could still add for us?

oe


On Tue, 15 Jan 2019 at 09:56 Sabry Razick via RT <hpc-drift at usit.uio.no>
wrote:

> Hello,
>   Will the module "module load Python/3.5.2-foss-2016b" work for you all
> you want to recompile a new one ?
>
> Regards,
> Sabry.
>
> On 2019-01-08 14:34:40, sabryr wrote:
> > Hi,
> >
> > On 2019-01-08 13:35:25, oe wrote:
> > > many thanks for the quick follow-up, sabry!
> >
> > You are welcome
> >
> > > would there be a relatively easy way of retroactively fixing the
> > > 3.5.0
> > >  module?
> >
> > No, due to the policy that installed modules will not change. As I
> > would have to recompile,can not guarantee the change will be only the
> > lzima,thus potentially effect others. But I can install another 3.5.
> > module for you, if miner version is not a problem.
> >
> > For example is following module usable (a secret module we have)
> >
> > module load Python/3.5.2-foss-2016b
> >
> > If not, we can install similar semi-secret module.
> >
> > i am asking because in the NLPL context we have produced at
> > > least half a dozen python modules that are derived from the base
> > > ‘python3/3.5.0’ module.  here, derivative means creating a virtual
> > > environment, installing one or more add-on packages, and tweaking
> > > PYTHONPATH such that several such derivative modules can be combined.
> > > we have adopted this path for NLPL, for better modularity,
> > > interoperability, and uniformity between Abel and Taito.  some
> > > additional background on this approach is on the NLPL wiki:
> > >
> > > http://wiki.nlpl.eu/index.php/Infrastructure/software/python
> >
> > As the workload will be less on our end, I will try to help on this.
> >
> >
> > > switching to a different base module (e.g. from 3.5.0 to 3.7.0) would
> > > require rebuilding all of these derivative modules (hence is not
> > > something i would not do light-heartedly :-).  but see below ...
> > >
> > > —more generally, we have been meaning to start a fresh batch of
> > > derivative modules based on 3.6 or even 3.7.  to start down this
> > > route, it would be important to agree on which characteristics the
> > > base python module should have.  (unlike the older 3.5.0
> > > installation)
> > > i see that your new 3.7.0 is minimal, i.e. does not (yet) include any
> > >  add-on components.
> >
> > That is correct. The future plan is to provide basic python and
> > another module called "python-modules". There is no PYTHONPATH set in
> > this module either and highly customizable.
> >
> > in principle, i think this is right, and all
> > > add-ons should arguably be provisioned as separate modules.  what
> > > about NumPy with MKL support, however?  that was compiled into the
> > > 3.5.0 installation and is something i suspect many users might want.
> > > or maybe the default OpenBLAS back-end for NumPy is just as good (on
> > > average), and we can make do with standard, pre-compiled NumPy
> > > wheels?
> > >  if so, is there a particular reason you opted to build the new 3.7.0
> > > with the Intel tool chain?
> >
> > Latest MKL, older OpenBLAS, (latest blas and Atlas soon) available
> > when you load the " module load python3/3.7.0", but you must compile
> > numpy (not from wheel) to use it.
> >
> > $ module load python3/3.7.0
> > $ echo $CPATH | grep mkl --color=always
> >
> > /cluster/software/VERSIONS/intel-
> > 2019.0/compilers_and_libraries_2019.0.117/linux/mkl/include/
> > /cluster/software/VERSIONS/intel-
> > 2019.0/compilers_and_libraries_2019.0.117/linux/mkl/include/fftw:
> >
> >
> > > in the NLPL context, we have been tossing around some of these
> > > high-level design questions for a little while now, and i am hoping
> > > to
> > > tap into your broader experience with maintaining modules on Abel
> > > here.  would it make sense to discuss some of the more general
> > > questions over a cup of coffee sometime this week?  anyone else in
> > > your group with strong opinions about python modules?
> >
> > Yes we could discuss this, I do not think there are strong opinions,
> > but I could ask permission from Jon if needed .  Only thing is once
> > installed modules are (almost) newer changed.
> >
> >
> > Regards,
> > Sabry
> > >
> > > with thanks in advance, oe
> > >
> > > On Tue, Jan 8, 2019 at 11:31 AM Sabry Razick via RT
> > > <hpc-drift at usit.uio.no> wrote:
> > > >
> > > > On 2019-01-07 23:20:24, oe wrote:
> > > > > colleagues,
> > > > >
> > > > > using the default ‘python3’ module on Abel, i am running into the
> > > > > following import error (required by a third-party component):
> > > > >
> > > > > [oe at login-0-0 ~]$ module purge; module load python3/3.5.0
> > > > > [oe at login-0-0 ~]$ type -all python3
> > > > > python3 is /cluster/software/VERSIONS/python3-3.5.0/bin/python3
> > > > > [oe at login-0-0 ~]$ python3 -c "import lzma;"
> > > > > Traceback (most recent call last):
> > > > >   File "<string>", line 1, in <module>
> > > > >   File "/cluster/software/VERSIONS/python3-
> > > > > 3.5.0/lib/python3.5/lzma.py",
> > > > > line 26, in <module>
> > > > >     from _lzma import *
> > > > > ImportError: No module named '_lzma'
> > > > >
> > > > > for all i can tell, there are no RHEL lzma packaged installed,
> > > > > but
> > > > > there is a separate module ‘xz/5.2.2’.  i wonder whether my
> > > > > import
> > > > > error could just mean that no lzma (aka xz) headers and libraries
> > > > > were
> > > > > visible when the python3 installation was compiled?
> > > > >
> > > > > with thanks in advance, oe
> > > > >
> > > >
> > > > Hi,
> > > >   Your observation is correct. I have fixed this in the latest
> > > > version (did not fix the old).
> > > >
> > > > -bash-4.1$ module purge
> > > > -bash-4.1$ module load python3/3.7.0
> > > > -bash-4.1$ python3 -c "import lzma;"
> > > > -bash-4.1$ python3 -c "import lzma;print(lzma.__file__)"
> > > > /cluster/software/VERSIONS/python3-3.7.0/lib/python3.7/lzma.py
> > > >
> > > >
> > > > Regards,
> > > > Sabry
> > > >
>
>




More information about the infrastructure mailing list