-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
pip 25.3 may cause issues with installing PyAutoGUI due to lack of pyproject.toml
Earlier today, I saw this message when "Building wheels for collected packages: pyautogui":
DEPRECATION: Building 'pyautogui' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'pyautogui'. Discussion can be found at https://github.com/pypa/pip/issues/6334
Also earlier today, pypa/pip#13602 was merged for pip 25.3, which closed pypa/pip#6334.
Since PyAutoGUI is used by SeleniumBase, I'm not yet sure if this is going to break things.
(pip 25.3 is expected to to be released later this week.)
Hopefully things will be fine when pip 25.3 arraives, or if not, then hopefully the maintainer of PyAutoGUI quickly ships a new release with a pyproject.toml, (and for the dependencies of PyAutoGUI that may also need it, eg: pygetwindow, pytweening, mouseinfo, and pyrect).
I have an emergency back-up plan in case pip 25.3 breaks things (and there's no update for PyAutoGUI):
That would be creating a fork of PyAutoGUI with a fix for it (and forks of dependencies that also need a fix).
This wouldn't be the first time I forked-and-fixed dependencies to keep the SeleniumBase ecosystem intact:
- I forked https://github.com/pdbpp/pdbpp into https://github.com/mdmintz/pdbp
- I forked https://github.com/nose-devs/nose into https://github.com/mdmintz/pynose
- I forked https://github.com/pdbpp/fancycompleter into https://github.com/mdmintz/tabcompleter
- I forked https://github.com/ponty/PyVirtualDisplay into https://github.com/mdmintz/sbVirtualDisplay
- I forked https://github.com/HyperionGray/python-chrome-devtools-protocol into https://github.com/mdmintz/MyCDP
And often times when I fork-and-fix a repo, I find other big projects using my updated versions, as seen here with pynose:
So in summary, I'll hopefully be prepared for whatever happens when pip 25.3 is released, (if action is needed on my part).