Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Python 3.15 from conda-forge: "Could not find Python library" because libpython is not installed

Đã đóng
#838 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Một pull request liên quan đã được merge.

  • #839 của @cjdoris — đã merge

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
julia, python
Lĩnh vực
backend

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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).

Ngôn ngữ chính
Julia
Star
1.1k
Fork
89
Merge trung bình
23 giờ 52 phút
Pull request đã merge (30 ngày)
4

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của JuliaPy/PythonCall.jl

Tất cả issue của JuliaPy/PythonCall.jl

Issue tương tự

Thêm issue về Julia

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.