Skip to content
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 Python 3.10 (release) #4226

Closed
1 of 10 tasks
nolar opened this issue Oct 5, 2021 · 22 comments
Closed
1 of 10 tasks

Add Python 3.10 (release) #4226

nolar opened this issue Oct 5, 2021 · 22 comments
Assignees
Labels
Area: Python awaiting-deployment Code complete; awaiting deployment and/or deployment in progress feature request

Comments

@nolar
Copy link

nolar commented Oct 5, 2021

Tool name

Python

Tool license

PSF

Add or update?

  • Add
  • Update

Desired version

3.10 (released yesterday)

Approximate size

No response

Brief description of tool

No response

URL for tool's homepage

No response

Provide a basic test case to validate the tool's functionality.

No response

Virtual environments affected

  • Ubuntu 16.04
  • Ubuntu 18.04
  • Ubuntu 20.04
  • macOS 10.15
  • macOS 11
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022

Can this tool be installed during the build?

No response

Tool installation time in runtime

No response

Are you willing to submit a PR?

No response

@mikhailkoliada
Copy link
Contributor

Hello @nolar!
Thank you for the report, we'll take a closer look at this issue.

@hugovk
Copy link
Contributor

hugovk commented Oct 5, 2021

For reference, it took 22 days for Python 3.9 (#1740) on Azure Pipelines and 24 days for Python 3.8 (https://web.archive.org/web/20201012044438/https://github.com/microsoft/azure-pipelines-image-generation/issues/1317) :)

@miketimofeev
Copy link
Contributor

@nolar @hugovk Python 3.10 is already available through https://github.com/actions/setup-python and will be pre-cached on the next week's images.

@miketimofeev miketimofeev self-assigned this Oct 5, 2021
@miketimofeev miketimofeev added the awaiting-deployment Code complete; awaiting deployment and/or deployment in progress label Oct 5, 2021
@hugovk
Copy link
Contributor

hugovk commented Oct 5, 2021

Thank you! Confirmed now available for GitHub Actions: actions/setup-python#249 (comment)


Does Azure Pipelines need to wait for the pre-cached images next week?

Starting: UsePythonVersion
==============================================================================
Task         : Use Python version
Description  : Use the specified version of Python from the tool cache, optionally adding it to the PATH
Version      : 0.188.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/use-python-version
==============================================================================
##[error]Version spec 3.10 for architecture x64 did not match any version in Agent.ToolsDirectory.
Versions in /opt/hostedtoolcache:

2.7.18 (x64)
3.5.10 (x64)
3.6.15 (x64)
3.7.12 (x64)
3.8.12 (x64)
3.9.7 (x64)
If this is a Microsoft-hosted agent, check that this image supports side-by-side versions of Python at https://aka.ms/hosted-agent-software.
If this is a self-hosted agent, see how to configure side-by-side Python versions at https://go.microsoft.com/fwlink/?linkid=871498.
Finishing: UsePythonVersion

https://dev.azure.com/hugovk/hugovk/_build/results?buildId=2488&view=logs&j=1c03d131-585d-5673-8b12-4599c17588ee

@nolar
Copy link
Author

nolar commented Oct 5, 2021

@nolar nolar closed this as completed Oct 5, 2021
@hugovk
Copy link
Contributor

hugovk commented Oct 5, 2021

Please could we re-open this to track Azure Pipelines? Or shall I open a new issue (here or elsewhere)?

@nolar nolar reopened this Oct 5, 2021
@nolar
Copy link
Author

nolar commented Oct 5, 2021

Sorry. Reopened.

@miketimofeev
Copy link
Contributor

@hugovk correct, AzDO task can't download the version on demand so we have to wait until the new images are available

@eccles
Copy link

eccles commented Oct 7, 2021

Just tried adding 3.10 to our repo and it failes:
jobs:
build:

runs-on: ubuntu-latest
strategy:
  fail-fast: false
  matrix:
    python-version: [3.6, 3.7, 3.8, 3.9, 3.10]

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
  uses: actions/setup-python@v2
  with:
    python-version: ${{ matrix.python-version }}
- name: Install dependencies
  run: |
    python3 -m pip install --upgrade pip
    python3 -m pip install -r requirements-dev.txt

cause the pipeline to think it must use '3.1' i.e. removes the trailing zero.

The failing PR is here: datatrails/datatrails-python#64

@hugovk
Copy link
Contributor

hugovk commented Oct 7, 2021

Short version: put quotes around the versions, so it interprets "3.10" as a string and not 3.10 as a float => 3.1:

    python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]

Longer version: https://dev.to/hugovk/the-python-3-1-problem-85g

@eccles
Copy link

eccles commented Oct 7, 2021

ah thanx - alt=ready saw this when inspacting the commit here...

@miketimofeev
Copy link
Contributor

Small update — macOS and windows images with pre-cached python 3.10 will be deployed this week, ubuntu — next week.

@charris
Copy link

charris commented Oct 15, 2021

@miketimofeev I've run into two problems so far

  • No windows 32 bit Python 3.10. Is that deliberate?
  • Missing Python.h file on mac.

@miketimofeev
Copy link
Contributor

miketimofeev commented Oct 17, 2021

@charris for the first one — yes, it's deliberate as we didn't add 32-bit versions of Python to windows-2022 and received no complaints so far, so we decided not to add 32-bit versions of python 3.10 to all the other windows versions. If it's an issue for you we can consider adding them.
For the mac problem — could you create a separate issue with all the details and repro-steps and we will take look?

@charris
Copy link

charris commented Oct 17, 2021

@miketimofeev No problem with no 32 bit 3.10 on windows, we would prefer to drop it ourselves. As to the missing Python.h, it is simply a question of if it is installed and, if so, where.

@charris
Copy link

charris commented Oct 17, 2021

@miketimofeev The problem looks to be a change in Python 3.10 distutils.

@charris
Copy link

charris commented Oct 17, 2021

Mac problem is due to the multibuild software we use only supporting universal2 wheels.

@miketimofeev
Copy link
Contributor

@charris we have a feature request to support universal2 builds and a PR as well but didn't have a chance to validate it yet actions/python-versions#114

@matthew-brett
Copy link

@miketimofeev - I think it is a problem, dropping the 32-bit Windows environment - based on some recent comments by @zooba - see scipy/scipy#14316 (comment) . In particular @zooba suggested the need to keep supporting 32-bit in order to support ARM64 users on Windows.

@miketimofeev
Copy link
Contributor

@matthew-brett for GitHub actions the recommended way is to use setup-python action, which will install the version on the flight. For AzDO there is no such way, so we will monitor for the requests.

lclarko added a commit to lclarko/textstat that referenced this issue Oct 20, 2021
Quotes have been added around the version numbers to mitigate the Python 3.1 problem.

actions/runner-images#4226 (comment)
@miketimofeev
Copy link
Contributor

@nolar Python 3.10 should be available everywhere.
I'm going to close the issue. Please feel free to contact us if you have any concerns.
Thank you!

@hugovk
Copy link
Contributor

hugovk commented Oct 21, 2021

Thank you!

I count that as 17 days since Python 3.10, an improvement over last year's 22 days since 3.9 and the year before's 24 days since 3.8! 🎈👏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Python awaiting-deployment Code complete; awaiting deployment and/or deployment in progress feature request
Projects
None yet
Development

No branches or pull requests

7 participants