watchdog: Installation fails with 4.0.0

I’m getting the following error with poetry and pip since about 6 minutes ago on our CI and locally as well:

  • Updating watchdog (3.0.0 -> 4.0.0)
  RuntimeError
  Unable to find installation candidates for watchdog (4.0.0)
  at .venv/lib/python3.11/site-packages/poetry/installation/chooser.py:73 in choose_for
       69│ 
       70│             links.append(link)
       71│ 
       72│         if not links:
    →  73│             raise RuntimeError(f"Unable to find installation candidates for {package}")
       74│ 
       75│         # Get the best link
       76│         chosen = max(links, key=lambda link: self._sort_key(package, link))
       77│ 
Cannot install watchdog.

I believe the dependency comes from mkdocs. I noticed the PyPI release files only contains macos releases, could this be why?

About this issue

  • Original URL
  • State: closed
  • Created 5 months ago
  • Reactions: 1
  • Comments: 25 (8 by maintainers)

Most upvoted comments

This seems good finally! 🍾

Thank you all for feedbacks and hints 💪🏻

Meh, I did not fix the workflow properly. Copy-pasta error 👏🏻 Will try again right now.


Edit: new run at https://github.com/BoboTiG/watchdog/actions/runs/7807652727 (+fix in 9a4f3e2f0c0b76a6aaf62f7c0e3b6b8e309a4944)

1ce88d5 you need to do more than this to adjust for v4. I’ll take a look after dinner.

OK I just had a look at https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md. I’ll push a fix + missing wheels.

Oh!

No, the action should take care of all OS. I’ll look into it right now.

If you use Poetry and are still encountering this issue because the watchdog definition in your lock file doesn’t include the full 4.0.0 wheel set, try clearing your cache with poetry cache clear pypi:watchdog:4.0.0.

When they first did this and broke the world, it at least broke the world and hard failed instead of silently changing behavior to overwriting the whole thing. Oh well.

Working! image

Overwrite looks like it deletes the existing artifact so you end up with just the last set of files.

OK, OK, OK, you’re 100% right @altendky! I read the workflow again and it only publishes the files in the last step, so using overwrite it deletes the files from the previous step and will only publish the last file. Thanks

1ce88d5 you need to do more than this to adjust for v4. I’ll take a look after dinner.

OK I just had a look at https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md. I’ll push a fix + missing wheels.

I appreciate the quick response 👍

1ce88d5 you need to do more than this to adjust for v4. I’ll take a look after dinner.

OK I just had a look at actions/upload-artifact@main/docs/MIGRATION.md. I’ll push a fix + missing wheels.

You are using the same name for all artifacts in all OS, so, you need to add the new parameter overwrite: true in the upload-artifact@v4.

https://github.com/gorakhargosh/watchdog/commit/1ce88d5813b1a334962ebc7742916584d80fe999 you need to do more than this to adjust for v4. I’ll take a look after dinner.

Hm maybe is it a PyPI cache issue? All files seem present here: https://pypi.org/project/watchdog/4.0.0/#files 🤔

I’m seeing nothing but macos files there image