qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 01/37] python: Require 3.6+


From: Markus Armbruster
Subject: Re: [PATCH 01/37] python: Require 3.6+
Date: Wed, 16 Sep 2020 10:42:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

John Snow <jsnow@redhat.com> writes:

> Python 3.5 is now EOL. Python 3.6 brings with it several nice things:
>
> - Literal string interpolation (PEP 498)
> - Syntax for variable annotations (PEP 526)
> - Preserving keyword argument order (PEP 468) *
>
> PEP 526 in particular will allow us to convert the QAPI module to the
> statically typed subset of the Python language. These static type hints
> improve the interactive editing experience in IDEs and help make
> refactoring and adding new features faster, easier and safer.
>
> *Note: **kwargs is now guaranteed to preserve keyword ordering, but dict
> itself is still allowed to have an arbitrary order based on
> implementation. It is not until Python 3.7 that the dict type guarantees
> insertion order.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>  docs/conf.py                  | 4 ++--
>  configure                     | 6 +++---
>  .readthedocs.yml              | 2 +-
>  .travis.yml                   | 8 --------
>  tests/qemu-iotests/iotests.py | 2 --
>  5 files changed, 6 insertions(+), 16 deletions(-)
>
> diff --git a/docs/conf.py b/docs/conf.py
> index 0dbd90dc11..8aeac40124 100644
> --- a/docs/conf.py
> +++ b/docs/conf.py
> @@ -36,9 +36,9 @@
>  # In newer versions of Sphinx this will display nicely; in older versions
>  # Sphinx will also produce a Python backtrace but at least the information
>  # gets printed...
> -if sys.version_info < (3,5):
> +if sys.version_info < (3,6):
>      raise ConfigError(
> -        "QEMU requires a Sphinx that uses Python 3.5 or better\n")
> +        "QEMU requires a Sphinx that uses Python 3.6 or better\n")
>  
>  # The per-manual conf.py will set qemu_docdir for a single-manual build;
>  # otherwise set it here if this is an entire-manual-set build.
> diff --git a/configure b/configure
> index ce27eafb0a..33292500e7 100755
> --- a/configure
> +++ b/configure
> @@ -913,7 +913,7 @@ fi
>  
>  : ${make=${MAKE-make}}
>  
> -# We prefer python 3.x. A bare 'python' is traditionally
> +# We prefer python 3.6+. A bare 'python' is traditionally

We require

>  # python 2.x, but some distros have it as python 3.x, so
>  # we check that too
>  python=
> @@ -1961,8 +1961,8 @@ fi
>  
>  # Note that if the Python conditional here evaluates True we will exit
>  # with status 1 which is a shell 'false' value.
> -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
> -  error_exit "Cannot use '$python', Python >= 3.5 is required." \
> +if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
> +  error_exit "Cannot use '$python', Python >= 3.6 is required." \
>        "Use --python=/path/to/python to specify a supported Python."
>  fi
>  
> diff --git a/.readthedocs.yml b/.readthedocs.yml
> index 8355dbc634..7fb7b8dd61 100644
> --- a/.readthedocs.yml
> +++ b/.readthedocs.yml
> @@ -17,4 +17,4 @@ formats: all
>  # we require for other Python in our codebase (our conf.py
>  # enforces this, and some code needs it.)
>  python:
> -  version: 3.5
> +  version: 3.6
> diff --git a/.travis.yml b/.travis.yml
> index 65341634d0..0dca15a5e8 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -267,14 +267,6 @@ jobs:
>  
>  
>      # Python builds
> -    - name: "GCC Python 3.5 (x86_64-softmmu)"
> -      env:
> -        - CONFIG="--target-list=x86_64-softmmu"
> -        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
> -      language: python
> -      python: 3.5
> -
> -
>      - name: "GCC Python 3.6 (x86_64-softmmu)"
>        env:
>          - CONFIG="--target-list=x86_64-softmmu"
> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> index 91e4a57126..f48460480a 100644
> --- a/tests/qemu-iotests/iotests.py
> +++ b/tests/qemu-iotests/iotests.py
> @@ -40,8 +40,6 @@
>  from qemu import qtest
>  from qemu.qmp import QMPMessage
>  
> -assert sys.version_info >= (3, 6)
> -
>  # Use this logger for logging messages directly from the iotests module
>  logger = logging.getLogger('qemu.iotests')
>  logger.addHandler(logging.NullHandler())




reply via email to

[Prev in Thread] Current Thread [Next in Thread]