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