Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`sphinxext/ipython_directive.py` no longer in matplotlib

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

Nobody has claimed this yet.

Assessment

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

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.

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)?

$ 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/<ipython-input-13-f032a6173cb5> in <module>()
----> 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 <http://groups.google.com/group/sphinx-dev/>,
or report them in the tracker at <http://bitbucket.org/birkenfeld/sphinx/issues/>. 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)
Dominant language
CSS
Stars
43
Forks
89
PR merge metrics
No merged PRs in 30d

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.

More from matplotlib/sampledoc

All issues in matplotlib/sampledoc

Similar issues

More Build System issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.