[CentOS] Semi-OT: install python package in userspace

Tue Apr 10 23:34:00 UTC 2018
David C. Miller <millerdc at fusion.gat.com>

David Miller.

----- Original Message -----
> From: "m roth" <m.roth at 5-cent.us>
> To: "CentOS mailing list" <centos at centos.org>
> Sent: Friday, April 6, 2018 12:04:43 PM
> Subject: Re: [CentOS] Semi-OT: install python package in userspace

> Valeri Galtsev wrote:
> <snip>
>>>> On Fri, 6 Apr 2018 17:25 , <m.roth at 5-cent.us> wrote:
>>>>> CentOS 7 box. As there's no package in any of the repos, we're trying
>>>>> to install scikit-learn in the user's space. It refuses. My late try
> was,
>>>>> after d/l a .whl from last year, hoping that would work with the numpy
>>>>> package in the regular repos, I did a pip install --user
>>>>> scikit-learn..., and it still seems to want to write to system space:
>>>>>  OSError: [Errno 13] Permission denied:
>>>>> '/usr/lib64/python2.7/site-packages/numpy-1.7.1.dist-info
>>>>> Anyone got any pointers?
> <snip>
>> Mark, python is a "sneaky snake" ;-) and some modules may require
>> particular version of dependencies, therefore they may ignore your
>> system wide numpy (even though it may just may be compatible with them),
>> and may demand latest version of numpy. Which will explain pip (or
>> other) attempting to pull dependencies which allegedly are available
>> system wide already.
>> Just speculating, your own research on your particular issue may give
>> your better answer.
> <snip>
> Well, my manager came back, and he's got me using virtenv. Having read
> about it, I like it.  Oh, and the issue with the system numpy in
> site-packages was that, for some reason, it was *not* world-readable.
> Fixed that.
> So, I'm working on trying to install scipy in the virtenv... and for
> unknown reasons, it simply can't find the system libs. I did this before
> the last attempt to
> export LAPACK=/usr/lib64/liblapack.so.3
> export BLAS=/usr/lib64/libblas.so.3
> and just added export LD_LIBRARY_PATH=/usr/lib64
> Still can't find them.
> Clues on this one?
>        mark


You might also want to look at conda for managing a self contained python and all the crazy external dependencies. Being in a research environment means these people will probably come back with lots of requests for other modules and external dependencies like tensorflow, qt5, hdf5, etc.  Conda handles building the snowflake versions for all that junk.