matplotlib / matplotlib/sampledoc

`sphinxext/ipython_directive.py` no longer in matplotlib

Open
#1 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
CSS
Stars
43
Forks
89
PR merge metrics
No merged PRs in 30d

Description

First of all: thanks for making this great tutorial!

It doesn't work with matplotlib HEAD though, because `matplotlib/sphinxext/ipython_directive.py` no longer exists.
This worked for me:
`cp ipython/docs/sphinxext/ipython_directive.py sampledoc/sphinxext`

After that a missing `import numpy as np` in combination with `@doctest` on line 120 in sampledoc/ipython_directive.rst makes sphinx abort.
For me simply adding the missing `import numpy as np` doesn't work, the doctest still fails.
Is it possible to make the following error message point to the .rst file name and line number that contains `np.random.rand(10,2)` (instead of suggesting a bug in sphinx)?

``` text
$ make html
sphinx-build -b html -d _build/doctrees . _build/html
Running Sphinx v1.0.7
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/__init__.py:908: UserWarning: This call to matplotlib.use() has no effect
because the the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

if warn: warnings.warn(_use_error_msg)
loading pickled environment... not yet created
building [html]: targets for 7 source files that are out of date
updating environment: 7 added, 0 changed, 0 removed
reading sources... [100%] ipython_directive
Exception occurred:
File "/Users/deil/github/sampledoc/sphinxext/ipython_directive.py", line 376, in process_output
raise RuntimeError(e)
RuntimeError: output prompt="Out[13]:" does not match out line=---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/Users/deil/github/sampledoc/ in ()
----> 1 np.random.rand(10,2)

NameError: name 'np' is not defined
The full traceback has been saved in /var/folders/9v/3cf9p8mx0n1gzcsq3mw9799m0000gn/T/sphinx-err-rTVMpU.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
Either send bugs to the mailing list at ,
or report them in the tracker at . Thanks!
make: *** [html] Error 1
```

There's a few more small issues:
- Line 101 in sampledoc/ipython_directive.rst needs to be indented
Users/deil/github/sampledoc/custom_look.rst:6: (WARNING/2) Duplicate explicit target name: "sphinx".
/Users/deil/github/sampledoc/cheatsheet.rst:7: WARNING: undefined label: cheatsheet -literal (if the link has no caption the label must precede a section header)
/Users/deil/github/sampledoc/extensions.rst:53: WARNING: undefined label: extensions-literal (if the link has no caption the label must precede a section header)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running `make html` and inspect `sampledoc/sphinxext/ipython_directive.py` and `sampledoc/ipython_directive.rst`, then review the other files named in the warnings: `custom_look.rst`, `cheatsheet.rst`, and `extensions.rst`. Done means the directive works with current matplotlib, the reported source location is useful, the indentation and reference issues are fixed, and the documentation build completes without these errors or warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
numpy, python
Domain
build-system, documentation
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.