Python 3.15 from conda-forge: "Could not find Python library" because libpython is not installed
維護者通常 1 天內回覆
已經有一個關聯 PR 被合併了。
- #839 來自 @cjdoris —— 已合併
評估
研究方向
Start by reading CondaPkg environment handling and PythonCall's Python library discovery, especially the find_libpython.py --list-all behavior described here; reproduce with Python 3.15 and the libpython dependency. Check compatibility with Julia 1.10 and 1.12, where the libstdcxx cap makes that dependency unsolvable. Done when PythonCall loads in supported Python 3.15 environments without making older Julia environments unsolvable.
由索引模型根據 Issue 內容生成。
描述
With CondaPkg's default environment, PythonCall 0.9.36 fails to load once the solver picks conda-forge's python 3.15.0 (published 2026-10-09):
ERROR: InitError: Could not find Python library for Python executable ".../.CondaPkg/.pixi/envs/default/bin/python".
Cause. Starting with 3.15, conda-forge's python package neither contains nor depends on the shared library; it moved to a separate libpython package (conda-forge/python-feedstock#843). The 3.11 to 3.14 builds still depend on libpython exactly, so they are unaffected. In a 3.15 environment lib/ has no libpython* file at all, so find_libpython.py --list-all prints nothing, although sysconfig still reports LDLIBRARY = libpython3.15.so.
Reproduction (Linux x86_64, Julia 1.13.1). A project whose CondaPkg.toml is
[deps]
python = ">=3.15"
fails on using PythonCall with the error above. Adding
libpython = ""
to the same file fixes it: pyimport("sys").version reports 3.15.0 | packaged by conda-forge.
Possible fix. PythonCall could request libpython itself, but not unconditionally. Every conda-forge libpython build requires libstdcxx >=15, and CondaPkg caps libstdcxx below 15 on Julia versions that bundle an older libstdc++ (seen with 1.10 and 1.12), so an explicit libpython makes the environment unsolvable there. Those Julia versions cannot install python 3.15 anyway, and the older python they get still ships the library. conda-forge also publishes libpython only for 3.11 and newer. In the meantime, SymbolicRegression.jl pins python = "<3.15" in its test environment.
This showed up in SymbolicRegression.jl CI (test group integration/ext/pythoncall).
- 主要語言
- Julia
- 星號
- 1.1k
- 分支
- 89
- 平均合併
- 23 小時 52 分鐘
- 30 天內合併 PR
- 4
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
JuliaPy/PythonCall.jl 的其他 Issue
-
難度 3/5 1-2 天 新手友好度 55/100
JuliaPy/PythonCall.jl#828 · 7 則留言 ·
維護者通常 1 天內回覆
-
bug
難度 4/5 3-5 天 新手友好度 48/100
JuliaPy/PythonCall.jl#809 · 2 則留言 ·
維護者通常 1 天內回覆
-
enhancement
難度 5/5 一週以上 新手友好度 35/100
JuliaPy/PythonCall.jl#805 · 4 則留言 ·
維護者通常 1 天內回覆
-
enhancement
難度 3/5 1-2 天 新手友好度 68/100
JuliaPy/PythonCall.jl#796 ·
維護者通常 1 天內回覆
-
enhancement
難度 5/5 一週以上 新手友好度 25/100
JuliaPy/PythonCall.jl#790 ·
維護者通常 1 天內回覆
查看 JuliaPy/PythonCall.jl 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
維護者通常 3 天內回覆
-
documentation
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 66/100
SciML/NonlinearSolve.jl#1372 ·
維護者通常 1 天內回覆
-
Truncated discrete ccdf and logccdf return incorrect values at the lower atom可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉
難度 2/5 1-3 小時 新手友好度 82/100
JuliaStats/Distributions.jl#2095 ·
-
documentation 📜 microphysics💧 ❄️
難度 2/5 1-3 小時 新手友好度 63/100
NumericalEarth/Breeze.jl#1073 ·
維護者通常 1 天內回覆