macpython / matplotlib-wheels Goto Github PK
View Code? Open in Web Editor NEWAutomated builds of OSX wheels
Home Page: https://travis-ci.org/MacPython/matplotlib-wheels
Automated builds of OSX wheels
Home Page: https://travis-ci.org/MacPython/matplotlib-wheels
I just got the Python 3.6 build and tests working with the fix from #2, but now I get this error:
======================================================================
ERROR: matplotlib.tests.test_mathtext.test_mathtext_cm_53.test
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
self.test(*self.arg)
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.6/site-packages/matplotlib/testing/decorators.py", line 53, in failer
result = f(*args, **kwargs)
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.6/site-packages/matplotlib/testing/decorators.py", line 207, in do_test
figure.savefig(actual_fname, **self._savefig_kwarg)
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.6/site-packages/matplotlib/figure.py", line 1563, in savefig
[snip]
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.6/site-packages/pyparsing.py", line 1510, in _parseCache
value = cache.get(lookup)
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.6/site-packages/pyparsing.py", line 1459, in get
return cache.get(key, not_in_cache)
RecursionError: maximum recursion depth exceeded
https://s3.amazonaws.com/archive.travis-ci.org/jobs/187592465/log.txt
Any insight into what's going on there?
On the next release, please update the multibuild submodule to matthew-brett/multibuild@b2748e5 or newer. This should reduce the size of the Matplotlib wheels from 14,3M to 12M by excluding unnecessary debug symbols. The more important change is that the extracted files on disk are significantly smaller, e.g. when you install matplotlib in a docker container, then the size reduction is very noticable.
In matplotlib 3.0.0 or newer, the build setting the macosx backend as the default backend for the wheel build of matplotlib causes an ImportError:
โ python test.py --verbose-debug
$HOME=/Users/goldbaum
CONFIGDIR=/Users/goldbaum/.matplotlib
matplotlib data path: /Users/goldbaum/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/mpl-data
loaded rc file /Users/goldbaum/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
matplotlib version 3.0.2
interactive is False
platform is darwin
loaded modules: ['builtins', 'sys', '_frozen_importlib', '_imp', '_warnings', '_thread', '_weakref', '_frozen_importlib_external', '_io', 'marshal', 'posix', 'zipimport', 'encodings', 'codecs', '_codecs', 'encodings.aliases', 'encodings.utf_8', '_signal', '__main__', 'encodings.latin_1', 'io', 'abc', '_weakrefset', 'site', 'os', 'errno', 'stat', '_stat', 'posixpath', 'genericpath', 'os.path', '_collections_abc', '_sitebuiltins', 'sysconfig', '_sysconfigdata_m_darwin_darwin', '_osx_support', 're', 'enum', 'types', 'functools', '_functools', 'collections', 'operator', '_operator', 'keyword', 'heapq', '_heapq', 'itertools', 'reprlib', '_collections', 'weakref', 'collections.abc', 'sre_compile', '_sre', 'sre_parse', 'sre_constants', '_locale', 'copyreg', '_bootlocale', 'importlib', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib.util', 'importlib.abc', 'importlib.machinery', 'contextlib', 'mpl_toolkits', 'matplotlib', 'atexit', 'distutils', 'distutils.version', 'inspect', 'ast', '_ast', 'dis', 'opcode', '_opcode', 'linecache', 'tokenize', 'token', 'locale', 'logging', 'time', 'traceback', 'string', '_string', 'threading', 'pathlib', 'fnmatch', 'ntpath', 'urllib', 'urllib.parse', 'pprint', 'shutil', 'zlib', 'bz2', '_compression', '_bz2', 'lzma', '_lzma', 'pwd', 'grp', 'subprocess', 'signal', '_posixsubprocess', 'select', 'selectors', 'math', 'tempfile', 'random', 'hashlib', '_hashlib', '_blake2', '_sha3', 'bisect', '_bisect', '_random', 'urllib.request', 'base64', 'struct', '_struct', 'binascii', 'email', 'http', 'http.client', 'email.parser', 'email.feedparser', 'email.errors', 'email._policybase', 'email.header', 'email.quoprimime', 'email.base64mime', 'email.charset', 'email.encoders', 'quopri', 'email.utils', 'socket', '_socket', 'datetime', '_datetime', 'email._parseaddr', 'calendar', 'email.message', 'uu', 'email._encoded_words', 'email.iterators', 'ssl', 'ipaddress', 'textwrap', '_ssl', 'urllib.error', 'urllib.response', '_scproxy', 'matplotlib.cbook', 'glob', 'gzip', 'numbers', 'numpy', '__future__', 'numpy._globals', 'numpy.__config__', 'numpy.version', 'numpy._import_tools', 'numpy.add_newdocs', 'numpy.lib', 'numpy.lib.info', 'numpy.lib.type_check', 'numpy.core', 'numpy.core.info', 'numpy.core.multiarray', 'numpy.core.umath', 'numpy.core._internal', 'numpy.compat', 'numpy.compat._inspect', 'numpy.compat.py3k', 'ctypes', '_ctypes', 'ctypes._endian', 'numpy.core.numerictypes', 'numpy.core.numeric', 'pickle', '_compat_pickle', '_pickle', 'numpy.core.fromnumeric', 'numpy.core._methods', 'numpy.core.arrayprint', 'numpy.core.defchararray', 'numpy.core.records', 'numpy.core.memmap', 'numpy.core.function_base', 'numpy.core.machar', 'numpy.core.getlimits', 'numpy.core.shape_base', 'numpy.core.einsumfunc', 'numpy.testing', 'unittest', 'unittest.result', 'unittest.util', 'unittest.case', 'difflib', 'unittest.suite', 'unittest.loader', 'unittest.main', 'argparse', 'copy', 'gettext', 'unittest.runner', 'unittest.signals', 'numpy.testing._private', 'numpy.testing._private.utils', 'gc', 'numpy.lib.utils', 'numpy.testing._private.decorators', 'numpy.testing._private.nosetester', 'numpy.testing._private.pytesttester', 'numpy.lib.ufunclike', 'numpy.lib.index_tricks', 'numpy.lib.function_base', 'numpy.lib.twodim_base', 'numpy.lib.histograms', 'numpy.matrixlib', 'numpy.matrixlib.defmatrix', 'numpy.linalg', 'numpy.linalg.info', 'numpy.linalg.linalg', 'numpy.linalg.lapack_lite', 'numpy.linalg._umath_linalg', 'numpy.lib.stride_tricks', 'numpy.lib.mixins', 'numpy.lib.nanfunctions', 'numpy.lib.shape_base', 'numpy.lib.scimath', 'numpy.lib.polynomial', 'numpy.lib.arraysetops', 'numpy.lib.npyio', 'numpy.lib.format', 'numpy.lib._datasource', 'numpy.lib._iotools', 'numpy.lib.financial', 'decimal', '_decimal', 'numpy.lib.arrayterator', 'numpy.lib.arraypad', 'numpy.lib._version', 'numpy.core._multiarray_tests', 'numpy._distributor_init', 'numpy.fft', 'numpy.fft.info', 'numpy.fft.fftpack', 'numpy.fft.fftpack_lite', 'numpy.fft.helper', 'numpy.polynomial', 'numpy.polynomial.polynomial', 'numpy.polynomial.polyutils', 'numpy.polynomial._polybase', 'numpy.polynomial.chebyshev', 'numpy.polynomial.legendre', 'numpy.polynomial.hermite', 'numpy.polynomial.hermite_e', 'numpy.polynomial.laguerre', 'numpy.random', 'numpy.random.info', 'cython_runtime', 'mtrand', 'numpy.random.mtrand', 'numpy.ctypeslib', 'numpy.ma', 'numpy.ma.core', 'numpy.ma.extras', 'matplotlib.cbook.deprecation', 'matplotlib.rcsetup', 'matplotlib.fontconfig_pattern', 'pyparsing', 'matplotlib.colors', 'matplotlib._color_data', 'cycler', 'six', 'six.moves', 'matplotlib._version', 'json', 'json.decoder', 'json.scanner', '_json', 'json.encoder', 'dateutil', 'dateutil._version']
CACHEDIR=/Users/goldbaum/.matplotlib
Using fontManager instance from /Users/goldbaum/.matplotlib/fontlist-v300.json
Traceback (most recent call last):
File "test.py", line 1, in <module>
from matplotlib import pyplot
File "/Users/goldbaum/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/pyplot.py", line 2374, in <module>
switch_backend(rcParams["backend"])
File "/Users/goldbaum/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/pyplot.py", line 207, in switch_backend
backend_mod = importlib.import_module(backend_name)
File "/Users/goldbaum/.pyenv/versions/3.6.5/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/Users/goldbaum/.pyenv/versions/3.6.5/lib/python3.6/site-packages/matplotlib/backends/backend_macosx.py", line 14, in <module>
from matplotlib.backends import _macosx
ImportError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are using (Ana)Conda please install python.app and replace the use of 'python' with 'pythonw'. See 'Working with Matplotlib on OSX' in the Matplotlib FAQ for more information.
This could be fixed by not setting macosx as the default backend in the matplotlibrc that gets shipped with the wheel.
Summary
Installing matplotlib on aarch64 via pip using command "pip3 install matplotlib" tries to build wheel from source code
Problem description
matplotlib don't have wheel for aarch64 on PyPI repository. So, while installing matplotlib via pip on aarch64, pip builds wheel for same resulting in it takes more time to install matplotlib. Making wheel available for aarch64 will benefit aarch64 users by minimizing matplotlib installation time.
Expected Output
Pip should be able to download matplotlib wheel from PyPI repository rather than building it from source code.
@matplotlib-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make matplotlib wheel available for aarch64. It will be a great opportunity for me to work with you.
Last successful test run on OSX was: https://travis-ci.org/MacPython/matplotlib-wheels/builds/158635805, 4 months ago.
Errors started 24 days ago, at https://travis-ci.org/MacPython/matplotlib-wheels/builds/181269028:
======================================================================
ERROR: Failure: RuntimeError ('list' must be None or a list, not <class 'str'>)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.5/site-packages/nose/failure.py", line 39, in runTest
raise self.exc_val.with_traceback(self.tb)
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.5/site-packages/nose/loader.py", line 285, in generate
for test in g():
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.5/site-packages/matplotlib/testing/decorators.py", line 216, in test
baseline_dir, result_dir = _image_directories(self._func)
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.5/site-packages/matplotlib/testing/decorators.py", line 399, in _image_directories
mod_file = find_dotted_module(func.__module__)[1]
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.5/site-packages/matplotlib/testing/decorators.py", line 389, in find_dotted_module
res = file, path, _ = imp.find_module(sub_mod, path)
File "/Users/travis/build/MacPython/matplotlib-wheels/venv/lib/python3.5/imp.py", line 270, in find_module
"not {}".format(type(name)))
RuntimeError: 'list' must be None or a list, not <class 'str'>
https://travis-ci.org/MacPython/matplotlib-wheels/jobs/181269039
Errors on Python 3.4 and Python 3.5, but not 2.7.
Investigation by TC at the time at : https://gitter.im/matplotlib/matplotlib?at=58457e49b4ffd59e38ea84c8, further pointing to http://bugs.python.org/issue26844 , but this is a patch to fix the error message, to make it more informative.
I couldn't reproduce the error on my local desktop, running OSX 10.11.
Thoughts:
Continuing from pydata/xarray#4256.
Here's an example for uploading to https://pypi.anaconda.org/scipy-wheels-nightly/: https://github.com/MacPython/pandas-wheels/blob/master/azure/posix.yml and to get a token:
I believe that @ogrisel can add you to the organization on anaconda.org so that you can create a key to upload to packages.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.