Python 3.15 from conda-forge: "Could not find Python library" because libpython is not installed
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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).
- Vorherrschende Sprache
- Julia
- Sterne
- 1.1k
- Forks
- 89
- Ø Merge
- 1 T. 22 Std.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus JuliaPy/PythonCall.jl
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
JuliaPy/PythonCall.jl#828 · 7 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
JuliaPy/PythonCall.jl#809 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
JuliaPy/PythonCall.jl#805 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
JuliaPy/PythonCall.jl#796 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
JuliaPy/PythonCall.jl#790 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in JuliaPy/PythonCall.jl
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 2 Tagen
-
documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 66/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
JuliaPy/CondaPkg.jl#232 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
SciML/PETScDiffEq.jl#196 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Two jump tests solve a different problem than the one they buildEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 84/100
SciML/Catalyst.jl#1571 ·
Maintainer antworten meist innerhalb von 1 Tag