setup-python: no such option: --root-user-action

Description: Unable to setup-python@v4. Fails on downloading pip packages, was working yesterday, but the same workflow fails today.

Update: Also appears that yesterday it successfully upgraded pip to 24.0 so it had the --root-user-action argument available, but today the upgrade isn’t happening and stays on 22.0.4 properly so the --root-user-action argument is throwing an error.

Action version: setup-python@v4

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version: Python 3.9.13

Repro steps:
Use actions/setup-python@v4, with python version 3.9.13, and x64 architecture

Expected behavior: Setup python successfully

Actual behavior: Fails on pip install with the following message no such option: --root-user-action

About this issue

  • Original URL
  • State: open
  • Created 2 months ago
  • Reactions: 28
  • Comments: 22 (3 by maintainers)

Most upvoted comments

Does anyone know if there will be a new release or something similar to fix? Using a different python version isn’t an option for most production builds without going through an upgrade process. 🤔 thinking through alternatives here. the pinned version should prevent this fwiw.

@HKongCC had a quick look and doesn’t seem like that’s the case unfortunately - I don’t see any parameter here that would allow to override it. I temporarily switched my affected projects to use 3.9.19 version which seems unaffected. Obviously hoping that upstream will yank the broken 3.9.13 build so I can roll back my workaround.

With the latest build of python 3.8.10, I’m no longer seeing this issue. Thanks for fixing it @mayeut.

Hello Everyone, New artifacts have been generated. Please rerun the actions and let us know if you still see any issues. Thank you @mayeut for your contribution with the PR.

I only expected missing macOS arm64 versions to be added when opening https://github.com/actions/python-versions/pull/259

It seems that rather than adding the missing platform, every platform was rebuilt and published…

Where is the version of pip embedded in the python-version build defined?

The initial version comes from the python sources/binaries (built or fetched depending on OS/platform). It’s tightly coupled to the version of python.

Either the python build needs a newer version of pip, or the linux script needs to use the env var similar to the macos fix.

I do have a PR on the way to fix that on every platform, it will need the maintainers to approve it & rebuild everything once again.

@goharShoukat I meant use PyEnv to install 3.9.13 instead of using the GH Actions’ broken build. Effectively remove your “setup-python” action and just install & call pyenv like you would on any other Linux machine.

i can confirm what @Rjevski already stated: upgrading from my old version of 3.9.13 to 3.9.19 worked. Whenever this issue is resolved i will revert my project back to 3.9.13.

Hello @HKongCC Thank you for creating this issue. We will investigate it and get back to you as soon as we have some feedback.

Good eye @KodiaqQ , looks like this is the breaking PR for those versions https://github.com/actions/python-versions/pull/259

Try to change to Python versions older than 12h ago in actions - https://github.com/actions/python-versions/releases (found it spontaneously) upd. For example, switch from broken 3.8.10 to 3.8.18 solves the issue.