-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Upgrade macOS to Python 3.11 to match Homebrew #18252
Comments
The goal here would be to land a PR for this "immediately" (i.e., within ~1 day) after Homebrew switches their default version, and then do a Drake stable release immediately after that (\CC @SeanCurtis-TRI). We'll need to update our macOS VM images concurrently with the PR. I don't know if it's possible, but maybe we can test a Draft PR using Unprovisioned CI, by specifying the |
Would just temporarily adding python 3.11 to the images (in addition to 3.10) be sufficient? It's difficult to have CI choose a "variant image" (unless we create additional Jenkins jobs). |
My guess was that a PR with this (below) would be easy to test in Unprovisioned? --- a/setup/mac/binary_distribution/Brewfile
+++ b/setup/mac/binary_distribution/Brewfile
@@ -23,7 +23,7 @@ brew 'numpy'
brew 'msgpack-cxx'
brew 'openblas'
brew 'pkg-config'
-brew 'python@3.10'
+brew 'python@3.11'
brew 'spdlog'
brew 'suite-sparse'
brew 'tinyxml' |
=> #18262, added some jobs to start testing but will need more tomorrow.
Sorry this part got me a little turned around. We can have a snapshot prepared with the python switch and just not switch Jenkins over until it lands. |
Looking at the PR, it looks like they're getting closer to merging. So, that means we need the release up and running very soon. Good to know. |
The initial goal says ~1 day after homebrew pulls the trigger. We're way past that now. Can we put an update here to help users (like me?) that are fighting against the upgrade? On my local machines, I've just been avoiding at all costs any homebrew calls that would update python. But the mac CI for my course repositories keeps breaking. |
Python 3.11 isn't the default yet: Homebrew/homebrew-core#114154, and https://github.com/RobotLocomotion/drake-external-examples is passing CI with 3.10. Could you provide links to failures (and your CI setup scripts) so we can investigate? |
I see. Looking through the CI console, it seems that the default
Today's failure is
The original error happened on Nov 3, because without any changes, the
I managed to fix that by adding
|
From a quick skim, it looks like Homebrew/homebrew-core#115544 just went in yesterday, which means that all users of Homebrew scipy must switch their code to use a non-default python3 Homebrew formula ( My inclination is still to defer Drake's switch to 3.11 until Homebrew/homebrew-core#114154 lands, so that the |
i don't have it under control, but rather than spend more time, i'll just wait out the transition i guess. |
For reference, label:python-3.11-migration is a report about Python 3.11 transition status in Homebrew. It looks like scipy, pytorch, virtualenv, etc. will all do a flag-day transition from 3.10 to 3.11 on their own timescales, so users will only be able to use ~half of the available Python ecosystem for weeks at a time. |
Just FYI -- I've finally fixed my mac CI on my two course repos, which have been broken by the homebrew transition for over a month. As recommended by @jwnimmer-tri, I've decided to take
in my requirements, where the |
All of the ducks appear to be in a row here, preliminary CI results for x86 and arm64 seem to indicate no bad weather on the horizon. Marking as complete, if things go well with nightlies we expect to have a new release with py311 artifacts for mac 🥳 (edit: in the near future) |
See Homebrew/homebrew-core#114154.
The text was updated successfully, but these errors were encountered: