-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Python 3.9 #5189
Conversation
Python 3.9.0 was released on 10-05-2020, this commits marks the support of Python 3.9 in qiskit-terra. It adds the supported python version in the package metadata and updates the CI configuration to run test jobs on Python 3.9 and build python 3.9 wheels.
The Python 3.6 deprecation is being handled separately in Qiskit#5301 to decouple it from adding python 3.9 support. This commit removes the 3.6 deprecation accordingly.
The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (not just terra). Since the implementation is not sound and nothing uses it this commit just removes the class and method.
The linux Python 3.9 CI job finally passed. But none of the packages listed in the PR summary have wheels yet so they were all compiled from source for that job. A subset of those packages are also why windows and macOS jobs fail because the compilation fails in those environments. This will likely be blocked until we have at least the requirements and optional requirements updated with python 3.9 wheels |
Are there more dependencies with wheels now? |
It looks like pandas and tornado did. I've updated the PR summary to mark that. But based on the latest run of CI here from yesterday things are still blocked on scipy not supporting python 3.9 yet. The rest of the wheels that are missing are listed after it in the logs. For example: https://dev.azure.com/qiskit-ci/qiskit-terra/_build/results?buildId=20937&view=logs&j=0966c229-dc5e-59db-1707-4394fcb5748f&t=949aafd6-37aa-5146-914f-bcc53e2bf912&l=1159 although in those cases they built successfully from source. But before we merge this we'll want all of those (in the requirements and optional requirements) to have wheels because otherwise we're forcing our users to have compilers setup locally which they often don't. |
The test skip we had in place on test_examples was for macOS with python 3.8. This was because when we first enabled python 3.8 support, the change to use spawn as the default macOS multiprocessing launch method was causing the tests to fail with the way the examples are written (without using '__name__ == "__main__"'). When we added Python 3.9 support in Qiskit#5189 these tests were run because skip was only on 3.8. While the tests appear to work most of the time (and passed ci in Qiskit#5189) as these jobs have been running in CI the test_examples module has occasionally been segfaulting when running the example, which has resulted in a failure rate of roughly 8-10%. This commit expands the macOS skip on the tests to be >= 3.8 so we avoid these failure conditions.
The test skip we had in place on test_examples was for macOS with python 3.8. This was because when we first enabled python 3.8 support, the change to use spawn as the default macOS multiprocessing launch method was causing the tests to fail with the way the examples are written (without using '__name__ == "__main__"'). When we added Python 3.9 support in Qiskit#5189 these tests were run because skip was only on 3.8. While the tests appear to work most of the time (and passed ci in Qiskit#5189) as these jobs have been running in CI the test_examples module has occasionally been segfaulting when running the example, which has resulted in a failure rate of roughly 8-10%. This commit expands the macOS skip on the tests to be >= 3.8 so we avoid these failure conditions.
The test skip we had in place on test_examples was for macOS with python 3.8. This was because when we first enabled python 3.8 support, the change to use spawn as the default macOS multiprocessing launch method was causing the tests to fail with the way the examples are written (without using '__name__ == "__main__"'). When we added Python 3.9 support in #5189 these tests were run because skip was only on 3.8. While the tests appear to work most of the time (and passed ci in #5189) as these jobs have been running in CI the test_examples module has occasionally been segfaulting when running the example, which has resulted in a failure rate of roughly 8-10%. This commit expands the macOS skip on the tests to be >= 3.8 so we avoid these failure conditions. Co-authored-by: Kevin Krsulich <kevin.krsulich@ibm.com>
The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method.
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes #1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
Python 3.9.0 was released on 10-05-2020, this commits marks the support of Python 3.9 in qiskit-ignis. It adds the supported python version in the package metadata and updates the CI configuration to run test jobs on Python 3.9. This follows on from Qiskit/qiskit#5189, qiskit-community/qiskit-ignis#505, and Qiskit/qiskit-aer#1071
Python 3.9.0 was released on 10-05-2020, this commits marks the support of Python 3.9 in qiskit-aqua. It adds the supported python version in the package metadata and updates the CI configuration to run test jobs on Python 3.9. This follows on from Qiskit/qiskit#5189, qiskit-community/qiskit-ignis#505, and Qiskit/qiskit-aer#1071
* Add support for Python 3.9 Python 3.9.0 was released on 10-05-2020, this commits marks the support of Python 3.9 in qiskit-aqua. It adds the supported python version in the package metadata and updates the CI configuration to run test jobs on Python 3.9. This follows on from Qiskit/qiskit#5189, qiskit-community/qiskit-ignis#505, and Qiskit/qiskit-aer#1071 * Add release note * Remove 3.9 tutorial job Jupyter on 3.9 doesn't have a good story yet, so just run tutorials on 3.6 and 3.8 for now. * Update optional requirement system constraints Co-authored-by: Steve Wood <40241007+woodsp-ibm@users.noreply.github.com>
* Add support for Python 3.9 Python 3.9.0 was released on 10-05-2020, this commits marks the support of Python 3.9 in qiskit-terra. It adds the supported python version in the package metadata and updates the CI configuration to run test jobs on Python 3.9 and build python 3.9 wheels. * Also deprecate 3.6 * Use latest nodes for CI * Remove Python 3.6 deprecation The Python 3.6 deprecation is being handled separately in #5301 to decouple it from adding python 3.9 support. This commit removes the 3.6 deprecation accordingly. * Bump cibuildwheel version to the latest release * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (not just terra). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix lint * Remove aer from macOS and windows jobs * Remove IBMQ provider from ci jobs The ibmq provider is not used by anything in CI anymore. It was an historical artifact when some of the visualization and jupyter tests required it. This is no longer true. However, installing the ibmq provider in the linux 3.9 job is blocking CI because of an unrelated requests library issue with urllib3. To resolve this, this commit just removes the unecessary install. * Add back ibmqprovider to tutorials job, it's needed for aqua tutorials * Fix jupyter test skip * Update test/python/tools/jupyter/test_notebooks.py Co-authored-by: Christian Clauss <cclauss@me.com> * Fix lint * Add back pbars macOS test skip Co-authored-by: Christian Clauss <cclauss@me.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 200d739)
* Add support for Python 3.9 Python 3.9.0 was released on 10-05-2020, this commits marks the support of Python 3.9 in qiskit-terra. It adds the supported python version in the package metadata and updates the CI configuration to run test jobs on Python 3.9 and build python 3.9 wheels. * Also deprecate 3.6 * Use latest nodes for CI * Remove Python 3.6 deprecation The Python 3.6 deprecation is being handled separately in #5301 to decouple it from adding python 3.9 support. This commit removes the 3.6 deprecation accordingly. * Bump cibuildwheel version to the latest release * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (not just terra). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix lint * Remove aer from macOS and windows jobs * Remove IBMQ provider from ci jobs The ibmq provider is not used by anything in CI anymore. It was an historical artifact when some of the visualization and jupyter tests required it. This is no longer true. However, installing the ibmq provider in the linux 3.9 job is blocking CI because of an unrelated requests library issue with urllib3. To resolve this, this commit just removes the unecessary install. * Add back ibmqprovider to tutorials job, it's needed for aqua tutorials * Fix jupyter test skip * Update test/python/tools/jupyter/test_notebooks.py Co-authored-by: Christian Clauss <cclauss@me.com> * Fix lint * Add back pbars macOS test skip Co-authored-by: Christian Clauss <cclauss@me.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 200d739) Co-authored-by: Matthew Treinish <mtreinish@kortar.org> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes Qiskit#1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes Qiskit#1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes Qiskit#1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes Qiskit#1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes Qiskit#1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes Qiskit#1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
* Add Python 3.9 support This commit adds official python 3.9 support to qiskit-aer. This includes CI, release notes, and package metadata. Fixes Qiskit#1067 * Remove wheel job 3.9 skip * Remove unused assertNoLogs method The assertNoLogs methods was built using a private class from python's stdlib unittest library. This should never have been done as it's explicitly marked as private. Accordingly in Python 3.9 this private class has been removed and no longer exists. It turns out this method was not used anywhere in all of qiskit (the same identical code was removed from terra as part of Qiskit/qiskit#5189 in Qiskit/qiskit@ed5155b). Since the implementation is not sound and nothing uses it this commit just removes the class and method. * Fix azure pipelines job matrix typo Co-authored-by: Victor Villar <vvilpas@gmail.com>
Summary
Python 3.9.0 was released on 10-05-2020, this commits marks the support
of Python 3.9 in qiskit-terra. It adds the supported python version in
the package metadata and updates the CI configuration to run test jobs
on Python 3.9 and build python 3.9 wheels.
Details and comments
Missing Support/Wheels:
requirements:
optional requirements:
test requirements: