appveyor/ci

Python 3.12

EwoutH opened this issue Β· 25 comments

EwoutH commented

Python 3.12 is now in the Beta phase and will be released in a few months. This means it's going to be heavily tested the next few months. It would be great if AppVeyor could add Python 3.12 to it's images.

  • Ubuntu images
  • Windows images
    • Visual Studio 2019 image
    • Visual Studio 2022 image
  • macOS

We wouldn't want to risk breaking any other users builds by installing a beta. But you could always add something like this to your appveyor.yml config file for your own testing.

install:
  - ps: |
      $version = "3.12.0"
      $beta = "b2"
      Write-Host "Installing Python $version" -ForegroundColor Cyan

      $downloadUrl = "https://www.python.org/ftp/python/$version/python-$version$beta-amd64.exe"
      Write-Host "Downloading $($downloadUrl)..."
      $exePath = "$env:TEMP\python-$version$beta.exe"
      (New-Object Net.WebClient).DownloadFile($downloadUrl, $exePath)
      
      Write-Host "Installing..."
      cmd /c start /wait $exePath /quiet TargetDir="$targetPath" Shortcuts=0 Include_launcher=1 InstallLauncherAllUsers=1 Include_debug=1
      Remove-Item $exePath
      
      Start-ProcessWithOutput "$targetPath\python.exe --version"
      
      Write-Host "Installed Python $version" -ForegroundColor Green
EwoutH commented

Users will only install 3.12 if they specifically select it right? I'm not talking about changing the default Python version, just adding another version.

The 3.12 release candidate 1 is now out (with RC2 due next week), and the release manager is asking maintainers to test:

There will be no ABI changes from this point forward in the 3.12 series, and the goal is that there will be as few code changes as possible.

Call to action

We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.12 compatibilities during this phase, and where necessary publish Python 3.12 wheels on PyPI to be ready for the final release of 3.12.0.

Is there an ETA for Python 3.12 support to be released? Thanks.

I know that people are saying to move to psycopg3 but I have a lot invested in psycopg2. So please release a version for python 3.12

Sadly it's hard to take Appveyor serious as a CI vendor anymore, especially with such a heads-up.

On GitHub Actions, Python 3.12 was natively available from the alpha phase, almost a year ago.

@OwenMcDonnell Any progress updates?

SQLAlchemy requires psycopg2 to work with PostgreSQL and psycopg2 cannot be installed for Python 3.12 on Windows. This issue was referenced as the cause.
I'm flabbergasted to see that something so important isn't working with the latest version of Python. It's unbelievable.

Apologies for the delay. Python 3.12 will be part of the next image update, which is being worked on now. Should be within a week.

Ubuntu 22.04 image has been released with support for Python 3.12.
Visual studio images are up next.

Specifying stack: python 3.12 with image Ubuntu2024 doesn't seem to work. Using tox shows an InterpreterNotFound error.

Specifying stack: python 3.12 with image Ubuntu2024 doesn't seem to work. Using tox shows an InterpreterNotFound error.

What are you actually using as an image name. ubuntu2004 or ubuntu2204?

A new VS2019 image has been deployed including python 3.12.0, documentation for which is awaiting a new VS2022 image which is currently being created.
Feel free to try out the new Visual Studio 2019 image and share any feedback.

Hi, would it be possible to add it to macOS images too please?

Hi, would it be possible to add it to macOS images too please?

Yes, that is planned. Can't give a definite date yet, but in the near future.

Both Visual Studio 2022 and Visual Studio 2019 images have both been updated to include Python 3.12.0.

Seeing multiple projects having successfully used Python 3.12 in CI, I will mark this issue as resolved! @OwenMcDonnell, thank you for your effort!

Python 3.13 beta will start in June 2024. That’s the point many maintainers will want to start testing Python 3.13. It will be great if AppVeyor could add Python 3.13 directly when the first beta is released. Note that GitHub Actions already has Python 3.13 support (actions/python-versions@e642aba).

For comparison, here's how long it took for other releases:

  • 2019: Python 3.8: 25 days
  • 2020: Python 3.9: 21 days
  • 2021: Python 3.10: 28 days
  • 2022: Python 3.11: 14 days
  • 2023: Python 3.12: 28 days

And this year compared to other CIs:

πŸ₯‡ 13 hours: GitHub Actions ↔️
πŸ₯‡ 13 hours: Azure Pipelines ↔️
πŸ₯‰ 20 days: Travis CI ⬆️
4️⃣ 28 days: AppVeyor ⬇️

@OwenMcDonnell should I open a separate issue for Python 3.12 on macOS images?

@OwenMcDonnell should I open a separate issue for Python 3.12 on macOS images?

I'll just re-open this issue and close once macOS images are updated. I can't promise anything sooner than a week, but likely sooner than 2 weeks.

xqt commented

What about Python 3.12 on Windows images?

@xqt Available since last week: #3879 (comment)

xqt commented

@xqt Available since last week: #3879 (comment)

It is not documented then:
https://www.appveyor.com/docs/windows-images-software/#python