Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4fe0e14

Browse files
committed
Rewording and minor restructuring of dependencies docs
1 parent a280b73 commit 4fe0e14

File tree

3 files changed

+42
-29
lines changed

3 files changed

+42
-29
lines changed

INSTALL.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ precompiled wheel for your OS and Python.
3131
TkAgg.
3232

3333
For support of other GUI frameworks, LaTeX rendering, saving
34-
animations and a larger selection of file formats, you need to
35-
install :ref:`additional dependencies <install_requirements>`.
34+
animations and a larger selection of file formats, you can
35+
install :ref:`optional_dependencies`.
3636

3737
Although not required, we suggest also installing ``IPython`` for
3838
interactive use. To easily install a complete Scientific Python

doc/api/next_api_changes/deprecations/17662-TAC.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ Increase minimum supported versions of Python and dependencies
22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33

44

5-
For Maptlotlib 3.4 the :ref:`minimum supported versions
6-
<install_requirements>` are being bumped
5+
For Maptlotlib 3.4 the :ref:`minimum supported versions <dependencies>`
6+
are being bumped
77

88
+------------+-----------------+---------------+
99
| Dependency | min in mpl3.3 | min in mpl3.4 |

doc/devel/dependencies.rst

Lines changed: 38 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
.. _install_requirements:
1+
.. _dependencies:
22

33
============
44
Dependencies
55
============
66

7-
Matplotlib will automatically install dependencies when you install with
8-
``pip``, so this section is mostly for your reference.
7+
Mandatory dependencies
8+
======================
99

10-
Matplotlib requires the following dependencies:
10+
When installing through a package manager like ``pip`` or ``conda`` the
11+
mandatory dependencies are automatically installed. This list is mainly for
12+
reference.
1113

1214
* `Python <https://www.python.org/downloads/>`_ (>= 3.7)
1315
* `NumPy <https://numpy.org>`_ (>= 1.16)
@@ -18,11 +20,20 @@ Matplotlib requires the following dependencies:
1820
* `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>= 6.2)
1921
* `pyparsing <https://pypi.org/project/pyparsing/>`_ (>=2.2.1)
2022

21-
Optionally, you can also install a number of packages to enable better user
22-
interface toolkits. See :ref:`what-is-a-backend` for more details on the
23-
optional Matplotlib backends and the capabilities they provide.
2423

25-
* Tk_ (>= 8.3, != 8.6.0 or 8.6.1): for the Tk-based backends.
24+
.. _optional_dependencies:
25+
26+
Optional dependencies
27+
=====================
28+
29+
The following packages and tools are not required but extend the capabilities
30+
of Matplotlib.
31+
32+
Matplotlib figures can be rendered to various user interfaces. See
33+
:ref:`what-is-a-backend` for more details on the optional Matplotlib backends
34+
and the capabilities they provide.
35+
36+
* Tk_ (>= 8.3, != 8.6.0 or 8.6.1) [#]_: for the Tk-based backends.
2637
* PyQt4_ (>= 4.6) or PySide_ (>= 1.0.3) [#]_: for the Qt4-based backends.
2738
* PyQt5_ or PySide2_: for the Qt5-based backends.
2839
* PyGObject_: for the GTK3-based backends [#]_.
@@ -42,6 +53,8 @@ optional Matplotlib backends and the capabilities they provide.
4253
.. _cairocffi: https://cairocffi.readthedocs.io/en/latest/
4354
.. _Tornado: https://pypi.org/project/tornado
4455

56+
.. [#] Tk is part of most standard Python installations, but it's not part of
57+
Python itself and thus may not be present in rare cases.
4558
.. [#] PySide cannot be pip-installed on Linux (but can be conda-installed).
4659
.. [#] If using pip (and not conda), PyGObject must be built from source; see
4760
https://pygobject.readthedocs.io/en/latest/devguide/dev_environ.html.
@@ -56,24 +69,31 @@ etc., you can install the following:
5669
animated gifs.
5770
* `LaTeX <https://www.latex-project.org/>`_ (with `cm-super
5871
<https://ctan.org/pkg/cm-super>`__ ) and `GhostScript (>=9.0)
59-
<https://ghostscript.com/download/>`_ : for rendering text with
60-
LaTeX.
72+
<https://ghostscript.com/download/>`_ : for rendering text with LaTeX.
6173
* `fontconfig <https://www.fontconfig.org>`_ (>= 2.7): for detection of system
6274
fonts on Linux.
6375

64-
FreeType and Qhull
65-
------------------
76+
C libraries
77+
===========
78+
79+
Matplotlib brings its own copies of the following libraries:
80+
81+
- ``Agg``: the Anti-Grain Geometry C++ rendering engine
82+
- ``ttconv``: a TrueType font utility
6683

67-
Matplotlib depends on FreeType_ (>= 2.3), a font rendering library, and on
68-
Qhull_ (>= 2020.2), a library for computing triangulations. By default,
69-
Matplotlib downloads and builds its own copies of FreeType (this is necessary
70-
to run the test suite, because different versions of FreeType rasterize
71-
characters differently) and of Qhull. As an exception, Matplotlib defaults to
72-
the system version of FreeType on AIX.
84+
Additionally, Matplotlib depends on:
85+
86+
- FreeType_ (>= 2.3): a font rendering library
87+
- QHull_ (>= 2020.2): a library for computing triangulations
7388

7489
.. _FreeType: https://www.freetype.org/
7590
.. _Qhull: http://www.qhull.org/
7691

92+
By default, Matplotlib downloads and builds its own copies of FreeType (this is
93+
necessary to run the test suite, because different versions of FreeType
94+
rasterize characters differently) and of Qhull. As an exception, Matplotlib
95+
defaults to the system version of FreeType on AIX.
96+
7797
To force Matplotlib to use a copy of FreeType or Qhull already installed in
7898
your system, create a :file:`setup.cfg` file with the following contents:
7999

@@ -130,13 +150,6 @@ and on Windows:
130150
set CL=/IC:\directory\containing\ft2build.h
131151
set LINK=/LIBPATH:C:\directory\containing\freetype.lib
132152
133-
.. note::
134-
135-
Matplotlib always uses its own copies of the following libraries:
136-
137-
- ``Agg``: the Anti-Grain Geometry C++ rendering engine;
138-
- ``ttconv``: a TrueType font utility.
139-
140153
If you go this route but need to reset and rebuild to change your settings,
141154
remember to clear your artifacts before re-building::
142155

0 commit comments

Comments
 (0)