scikit-hep / iminuit

Jupyter-friendly Python interface for C++ MINUIT2
https://scikit-hep.org/iminuit
Other
283 stars 76 forks source link

Sphinx error on readthedocs #162

Closed cdeil closed 8 years ago

cdeil commented 9 years ago

On readthedocs there's currently this Sphinx build error: https://readthedocs.org/builds/iminuit/3184944/

/usr/lib/pymodules/python2.7/matplotlib/__init__.py:758: UserWarning: Found matplotlib configuration in ~/.matplotlib/. To conform with the XDG base directory standard, this configuration location has been deprecated on Linux, and the new location is now '/home/docs/.config'/matplotlib/. Please move your configuration there to ensure that matplotlib will continue to find it in the future.
  _get_xdg_config_dir())
docstring of iminuit.Minuit.np_matrix:0: WARNING: Exception occurred in plotting draw_mncontour
 from /home/docs/checkouts/readthedocs.org/user_builds/iminuit/checkouts/latest/doc/pyplots/draw_mncontour.py:
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/matplotlib/sphinxext/plot_directive.py", line 515, in run_code
    exec code in ns
  File "<string>", line 10, in <module>
  File "iminuit/_libiminuit.pyx", line 1201, in iminuit._libiminuit.Minuit.draw_mncontour (iminuit/_libiminuit.cpp:17137)
  File "build/bdist.linux-x86_64/egg/iminuit/_plotting.py", line 141, in draw_mncontour
    xgrid, ygrid, g, r = mncontour_grid(self, x, y, numpoints, nsigma, sig_res, bins)
  File "build/bdist.linux-x86_64/egg/iminuit/_plotting.py", line 124, in mncontour_grid
    g = mlab.griddata(fx, fy, fz, xgrid, ygrid, interp='linear')
  File "/usr/lib/pymodules/python2.7/matplotlib/mlab.py", line 2619, in griddata
    raise ValueError("output grid must have constant spacing"
ValueError: output grid must have constant spacing when using interp='linear'
ycopin commented 8 years ago

Cannot manage to reproduce the error, I'm stuck before with:

$ python ./setup.py build_sphinx
running build_sphinx
creating /home/ycopin/Softwares/src/Python/iminuit/build/sphinx
creating /home/ycopin/Softwares/src/Python/iminuit/build/sphinx/doctrees
creating /home/ycopin/Softwares/src/Python/iminuit/build/sphinx/html
Running Sphinx v1.3.1
loading pickled environment... not yet created
[autosummary] generating autosummary for: api.rst, index.rst, installation.rst
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 3 source files that are out of date
updating environment: 3 added, 0 changed, 0 removed
reading sources... [100%] installation                                          
docstring of iminuit.Minuit.draw_mnprofile:32: WARNING: Exception occurred in plotting draw_mnprofile
 from /home/ycopin/Softwares/src/Python/iminuit/doc/pyplots/draw_mnprofile.py:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/sphinxext/plot_directive.py", line 506, in run_code
    six.exec_(code, ns)
  File "/usr/local/lib/python2.7/dist-packages/six.py", line 699, in exec_
    exec("""exec _code_ in _globs_, _locs_""")
  File "<string>", line 1, in <module>
  File "<string>", line 8, in <module>
  File "iminuit/_libiminuit.pyx", line 296, in iminuit._libiminuit.Minuit.__init__ (iminuit/_libiminuit.cpp:3101)
    self.frontend = self._auto_frontend() if frontend is None else frontend
  File "iminuit/_libiminuit.pyx", line 1309, in iminuit._libiminuit.Minuit._auto_frontend (iminuit/_libiminuit.cpp:19744)
    from .frontends.console import ConsoleFrontend
ImportError: No module named frontends.console
docstring of iminuit.Minuit.narg:0: WARNING: Exception occurred in plotting draw_mncontour
 from /home/ycopin/Softwares/src/Python/iminuit/doc/pyplots/draw_mncontour.py:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/sphinxext/plot_directive.py", line 506, in run_code
    six.exec_(code, ns)
  File "/usr/local/lib/python2.7/dist-packages/six.py", line 699, in exec_
    exec("""exec _code_ in _globs_, _locs_""")
  File "<string>", line 1, in <module>
  File "<string>", line 8, in <module>
  File "iminuit/_libiminuit.pyx", line 296, in iminuit._libiminuit.Minuit.__init__ (iminuit/_libiminuit.cpp:3101)
    self.frontend = self._auto_frontend() if frontend is None else frontend
  File "iminuit/_libiminuit.pyx", line 1309, in iminuit._libiminuit.Minuit._auto_frontend (iminuit/_libiminuit.cpp:19744)
    from .frontends.console import ConsoleFrontend
ImportError: No module named frontends.console
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] installation                                           
generating indices... genindex py-modindex
writing additional pages... search
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 2 warnings.
cdeil commented 8 years ago

Looks like the Sphinx docs build on readthedocs works just fine with the latest dev version: http://readthedocs.org/projects/iminuit/builds/3704774/

Closing this issue now.

@ycopin - Could you please re-try with the latest git master version locally and see if you still get that ImportError?

ycopin commented 8 years ago

From latest git master, the setup.py install is ok, but the setup.py build_sphinx fails with:

$ python setup.py build_sphinx
running build_sphinx
Running Sphinx v1.3.5
Traceback (most recent call last):
  File "setup.py", line 101, in <module>
    'coverage': CoverageCommand
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/dist-packages/sphinx/setup_command.py", line 161, in run
    freshenv=self.fresh_env)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/application.py", line 127, in __init__
    confoverrides or {}, self.tags)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/config.py", line 277, in __init__
    execfile_(filename, config)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/util/pycompat.py", line 128, in execfile_
    exec_(code, _globals)
  File "/usr/local/lib/python2.7/dist-packages/six.py", line 699, in exec_
    exec("""exec _code_ in _globs_, _locs_""")
  File "<string>", line 1, in <module>
  File "conf.py", line 72, in <module>
  File "../iminuit/__init__.py", line 27, in <module>
ImportError: No module named _libiminuit
cdeil commented 8 years ago

This is an old and closed issue, but FYI, @ycopin, for iminuit the Sphinx build should now work fine and it should be done like this (not via setup.py, that isn't implemented): http://iminuit.readthedocs.org/en/latest/installation.html#docs