diff --git a/.appveyor.yml b/.appveyor.yml
index 668c5391de65..49611c66a254 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -23,13 +23,14 @@ environment:
# In theory we could use a single CONDA_INSTALL_LOCN because we construct
# the envs anyway. But using one for the right python version hopefully
# making things faster due to package caching.
- - PYTHON_VERSION: "3.6"
- CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64"
+ - PYTHON_VERSION: "3.7"
+ CONDA_INSTALL_LOCN: "C:\\Miniconda37-x64"
TEST_ALL: "no"
EXTRAREQS: "-r requirements/testing/travis_extra.txt"
- - PYTHON_VERSION: "3.7"
+ - PYTHON_VERSION: "3.8"
CONDA_INSTALL_LOCN: "C:\\Miniconda37-x64"
TEST_ALL: "no"
+ EXTRAREQS: "-r requirements/testing/travis_extra.txt"
# We always use a 64-bit machine, but can build x86 distributions
# with the PYTHON_ARCH variable
@@ -55,19 +56,15 @@ install:
# For building, use a new environment
- conda create -q -n test-environment python=%PYTHON_VERSION% tk
- activate test-environment
+ # pull pywin32 from conda because on py38 there is something wrong with finding
+ # the dlls when insalled from pip
+ - conda install -c conda-forge pywin32
- echo %PYTHON_VERSION% %TARGET_ARCH%
# Install dependencies from PyPI.
- python -mpip install --upgrade -r requirements/testing/travis_all.txt %EXTRAREQS% %PINNEDVERS%
# Install optional dependencies from PyPI.
# Sphinx is needed to run sphinxext tests
- python -mpip install --upgrade sphinx
-
- # Apply patch to `subprocess` on Python versions > 2 and < 3.6.3
- # https://github.com/matplotlib/matplotlib/issues/9176
- - python -c "import sys; sys.exit(not (3,) < sys.version_info < (3,6,3))" && (
- curl -sL https://github.com/python/cpython/pull/1224.patch |
- patch -fsup 1 -d %CONDA_PREFIX% ) || cmd /c "exit /b 0"
-
# Show the installed packages + versions
- conda list
diff --git a/.circleci/config.yml b/.circleci/config.yml
index f0201de420c2..846d114ede89 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -110,17 +110,17 @@ commands:
#
jobs:
- docs-python36:
+ docs-python37:
docker:
- - image: circleci/python:3.6
+ - image: circleci/python:3.7
steps:
- checkout
- apt-install
- fonts-install
- pip-install
- - deps-install:
- numpy_version: "==1.13.0"
+
+ - deps-install
- mpl-install
- doc-build
@@ -130,9 +130,9 @@ jobs:
- store_artifacts:
path: doc/build/html
- docs-python37:
+ docs-python38-min:
docker:
- - image: circleci/python:3.7
+ - image: circleci/python:3.8-min
steps:
- checkout
@@ -140,7 +140,8 @@ jobs:
- fonts-install
- pip-install
- - deps-install
+ - deps-install:
+ numpy_version: "==1.16.0"
- mpl-install
- doc-build
@@ -185,6 +186,6 @@ workflows:
version: 2
build:
jobs:
- - docs-python36
- docs-python37
- docs-python38
+ - docs-python38-min
diff --git a/.travis.yml b/.travis.yml
index c40219b982a2..2c2aab29175c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -73,9 +73,9 @@ env:
matrix:
include:
- - python: 3.6
+ - python: 3.7
env:
- - PINNEDVERS='-c requirements/testing/travis36minver.txt'
+ - PINNEDVERS='-c requirements/testing/minver.txt'
- DELETE_FONT_CACHE=1
- python: 3.7
env:
diff --git a/INSTALL.rst b/INSTALL.rst
index 49c043e36a1a..804e37e0aa79 100644
--- a/INSTALL.rst
+++ b/INSTALL.rst
@@ -115,7 +115,7 @@ Dependencies
Matplotlib requires the following dependencies:
-* `Python `_ (>= 3.6)
+* `Python `_ (>= 3.7)
* `NumPy `_ (>= 1.16)
* `setuptools `_
* `cycler `_ (>= 0.10.0)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 91e510d27b52..a5c8544b7e88 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -5,27 +5,18 @@
strategy:
matrix:
- Linux_py36:
- vmImage: 'ubuntu-16.04'
- python.version: '3.6'
Linux_py37:
vmImage: 'ubuntu-16.04'
python.version: '3.7'
Linux_py38:
vmImage: 'ubuntu-16.04'
python.version: '3.8'
- macOS_py36:
- vmImage: 'macOS-10.14'
- python.version: '3.6'
macOS_py37:
vmImage: 'macOS-10.15'
python.version: '3.7'
macOS_py38:
vmImage: 'macOS-latest'
python.version: '3.8'
- Windows_py36:
- vmImage: 'vs2017-win2016'
- python.version: '3.6'
Windows_py37:
vmImage: 'vs2017-win2016'
python.version: '3.7'
diff --git a/doc/devel/coding_guide.rst b/doc/devel/coding_guide.rst
index ccb7cde94042..7ff5481af86e 100644
--- a/doc/devel/coding_guide.rst
+++ b/doc/devel/coding_guide.rst
@@ -254,7 +254,7 @@ The current active branches are
*master*
The current development version. Future minor releases (*v3.N.0*) will be
- branched from this. Supports Python 3.6+.
+ branched from this. Supports Python 3.7+.
*v3.N.x*
Maintenance branch for Matplotlib 3.N. Future patch releases will be
diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst
index d1187d3ecfb1..2fc16c57122d 100644
--- a/doc/devel/testing.rst
+++ b/doc/devel/testing.rst
@@ -243,7 +243,7 @@ You can also run tox on a subset of environments:
.. code-block:: bash
- $ tox -e py36,py37
+ $ tox -e py37,py38
Tox processes everything serially so it can take a long time to test
several environments. To speed it up, you might try using a new,
diff --git a/doc/faq/installing_faq.rst b/doc/faq/installing_faq.rst
index 529e1be7aca2..7ced5c063218 100644
--- a/doc/faq/installing_faq.rst
+++ b/doc/faq/installing_faq.rst
@@ -105,7 +105,7 @@ the form of wheels.
pip is installed by default with python.org and Homebrew Python, but needs to
be manually installed on Macports with ::
- sudo port install py36-pip
+ sudo port install py38-pip
Once pip is installed, you can install Matplotlib and all its dependencies with
from the Terminal.app command line::
diff --git a/requirements/testing/travis36minver.txt b/requirements/testing/minver.txt
similarity index 100%
rename from requirements/testing/travis36minver.txt
rename to requirements/testing/minver.txt
diff --git a/setup.py b/setup.py
index f714721a4945..cc8738a4a752 100644
--- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@
# and/or pip.
import sys
-min_version = (3, 6)
+min_version = (3, 7)
if sys.version_info < min_version:
error = """
diff --git a/tox.ini b/tox.ini
index 8696a8e0a91a..b6b94c41b5fc 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,7 +4,7 @@
# and then run "tox" from this directory.
[tox]
-envlist = py36, py37, py38
+envlist = py37, py38
[testenv]
changedir = /tmp