Repository navigation
fix(julia): restore Python executable for JuliaCall 0.9.35 - #1362
Merged
MilesCranmer merged 1 commit intoSep 10, 2026
Merged
Conversation
Co-authored-by: Miles Cranmer <miles.cranmer@gmail.com>
MilesCranmer
enabled auto-merge (squash)
September 10, 2026 15:57
MilesCranmer
approved these changes
Sep 10, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
JuliaCall 0.9.35 sets
JULIA_PYTHONCALL_EXECUTABLE, but PythonCall readsJULIA_PYTHONCALL_EXE. Julia workers therefore try to create a separate CondaPkg Python environment instead of using the parent interpreter.Apply the equivalent of the upstream correction in JuliaPy/PythonCall.jl#814 at PySR's existing import boundary.
Scope
_import_juliacall, setJULIA_PYTHONCALL_EXE = sys.executable or ""before the import, only for JuliaCall 0.9.35.Blast Radius
Other JuliaCall versions remain unchanged. Assignment replaces stale interpreter paths, matching the upstream correction. This also configures future workers when JuliaCall was imported first; it cannot repair workers already running. Saved Julia interpreter preferences retain their existing precedence.
Verification
Passed on Linux with Python 3.10, Julia 1.10.11, JuliaCall/PythonCall 0.9.35, and CondaPkg offline:
All three tests passed in 145.301 seconds. Separate real-runtime probes confirmed stale-interpreter replacement and unchanged behavior for JuliaCall 0.9.34. Both changed files passed
black --check. The full suite and conda-build were not rerun.