FWIW, we build matplotlib without problems using the foss2016b
toolchain, see the attached easyconfig file, which is based upon the
distribution file matplotlib-1.5.2-intel-2016b-Python-2.7.12.eb.
/Ole
On 10/13/2016 11:39 AM, Kenneth Hoste wrote:
Hi Maik,
On 13/10/16 11:37, Maik Schmidt wrote:
Hi Kenneth,
thanks for your input. I have tried with matplotlib 1.5.2 and 1.5.3,
but unfortunately, the error remains the same.
The numpy version in my Python 3.5.1 is the original one from the
respective easyconfig, namely 1.10.4. The matplotlib installer even
says so under
REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [version 1.10.4]
however, during the installation process, it somehow seems to have
fetched and referenced a newer version of numpy (1.11.2) in a temp
directory as can be seen in the log:
/scratch/hpcsupport/easybuild-tmp/eb-i1onxx/easy_install-v0f9q0bi/numpy-1.11.2/setup.py
So I guess this is more a problem of the installer, always trying to
use the latest numpy version or so?
That's surprising... Why would it try to download/install it's own numpy
when it found one? I've never seen that happening (but maybe I just
overlooked it).
Can you share the easyconfig files you're using?
regards,
Kenneth
Kind regards,
Maik
Am 13.10.2016 um 11:00 schrieb Kenneth Hoste:
Hi Maik,
On 13/10/16 10:43, Maik Schmidt wrote:
Hi all,
I've installed Python-3.5.1-intel-2016a.eb (with
--try-toolchain="intel,2016.03-GCC-5.3" but that shouldn't be
relevant to the problem) and am now trying to install
matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb, but it always fails on
installing the extension matplotlib.
== 2016-10-13 10:31:49,338 build_log.py:163 ERROR cmd "
/sw/taurus/eb/Python/3.5.1-intel-2016.03-GCC-5.3/bin/python setup.py
build " exited with exitcode 1 and output: ...
From the log I can see that an import exception is raised:
ImportError: No module named 'numpy._build_utils'
I have attached the full log.
Is this normal? Why does it try to access numpy._build_utils anways?
Isn't this just some internal module of the numpy installer and
shouldn't even be used by other modules? Any advice on how to get
rid of this problem would be much appreciated. Thanks in advance.
This looks relevant: https://github.com/numpy/numpy/issues/6551 .
It seems to suggest that the numpy version you have included in your
Python 3.5.1 installation is too new for matplotlib 1.5.1?
Maybe try with matplotlib 1.5.2, if that's an option?
regards,
Kenneth
easyblock = 'Bundle'
name = 'matplotlib'
version = '1.5.1'
versionsuffix = '-Python-%(pyver)s'
homepage = 'http://matplotlib.org'
description = """matplotlib is a python 2D plotting library which produces
publication quality figures in a variety of
hardcopy formats and interactive environments across platforms. matplotlib can
be used in python scripts, the python
and ipython shell, web application servers, and six graphical user interface
toolkits."""
toolchain = {'name': 'foss', 'version': '2016b'}
# this is a bundle of Python packages
exts_defaultclass = 'PythonPackage'
exts_filter = ('python -c "import %(ext_name)s"', '')
dependencies = [
('Python', '3.5.2'),
('freetype', '2.6.3'),
('libpng', '1.6.23'),
]
exts_list = [
('Cycler', '0.9.0', {
'modulename': 'cycler',
'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'],
'source_tmpl': 'cycler-%(version)s.tar.gz',
}),
(name, version, {
'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'],
'patches': ['matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch'],
}),
]
# specify that Bundle easyblock should run a full sanity check, rather than
just trying to load the module
full_sanity_check = True
sanity_check_paths = {
'files': [],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}
modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']}
moduleclass = 'vis'