-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
loading EasyBuild module results in Python loading system modules #1409
Comments
This is an issues due to |
To be more specific: if the EasyBuild module was installed with the setuptools available on the OS, the This (apparently) results in the OS Python package location being included in the Python search path whenever the EasyBuild module is loaded, which is clearly wrong... Two options:
This problem is not specific to the EasyBuild module, but any Python tool that is installed using the system Python (see the |
Verified, and sure enough, by removing from: I'm able to compile numpy-1.9.2 (before it was segfaulting) or compile graph-tool. I'll test it with GLib, but I'm already guessing it will compile just fine. Moving forward, is this something we should address on the system, or something that EasyBuild could fix? Thanks! |
@dominikborkowski: you had We should try and figure out a fix in EasyBuild for this, there's nothing wrong on your system (unless you consider having setuptools installed system-wide wrong ;-)). |
Indeed, that path appeared in both of those files. Interestingly enough, it shows up only under EasyBuild-2.3.0, while EasyBuild 2.2.0 didn't have it. Presumably difference there being the fact that EasyBuild 2.2.0 was the vanilla install from bootstrap, while 2.3.0 was installed via EasyBuild 2.2.0
|
In case if this information may be useful to others. This is on a SLES 11 SP3 system with these python packages installed:
|
Another data point, which may or may not be useful in figuring out why EasyBuild//lib/python2.6/site-packages/setuptools.pth points to system python's site-packages: When installed via bootstrap, this is not an issue. Only when EasyBuild is used to install another EasyBuild (newer or older) the resulting EasyBuild has the 'broken' setuptools.pth. More interesting, this happens also when the source EasyBuild has the workaround in place (removed content of setuptools.pth). I've tried this on various combinations using EasyBuild 2.3.0, 2.2.0, 2.1.1, 2.0.0. |
I can confirm this on a Ubuntu 14.04 with an Easybuild 2.3.0 which was installed using EasyBuild 2.1.1. |
I also found another issue related to this. I have nose library in the extensions list in the python easyconfig:
when installing Python easybuild finds the nose library which is installed in the system and doesn't install it to the easybuild's install dir. See the library is loaded from /usr/lib/python2.6
and then when installing matplotlib which is also in the extensions list matplotlib doesn't find nose library and tries to download it again. If I have no internet access it crashes, if I have internet access it will download nose library so I cannot reproduce the same installation.
|
I have just hit the same problem again. As easybuild can do "import pytz" the library is not installed by easybuild:
Looking at the log file I get no clue that the library being loaded comes from the system libraries, but I can manually check that this library is only available in the system libs folder:
@boegel to address this in the future I would suggest that when building with |
@pescobar: I'm looking into options to prevent this from happening, but it's not easy... Can you share what this prints, after loading the Python module?
|
|
using |
Yes, I didn't anticipate that... Using @pescobar: can you check what you have in the |
Candidate fix in easybuilders/easybuild-easyblocks#786. |
This should be fixed by a combination of #1569 and easybuilders/easybuild-easyblocks#813 . I'm closing this since I'm pretty confident that this issue is fixed with these changes, but don't hesitate to report back here in case the problem persists in some way with the upcoming EasyBuild v2.6.0 |
I noticed this issue while trying to install a piece of software that listed 'numpy' as its dependency. When 'EasyBuild' module is loaded, Python falls back onto the numpy provided by the OS, rather than the one from either numpy easybuild, or any of the python installs created by EasyBuild. Order of loading the modules does not matter. Presumably this affects other modules than just numpy, for example GLib compilation fails, because of the pyxml OS package that comes with SLES11 SP3.
Here's an example of how this manifests itself:
Now the reverse load:
The text was updated successfully, but these errors were encountered: