Editable install of a PEP 420 namespace package shadows other packages in the same namespace
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đá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
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- build-system
Hướng nghiên cứu
Bắt đầu với các tệp pyproject.toml của hai project mẫu và meson.build của project-main, sau đó tái hiện editable install bằng các lệnh pip được liệt kê. Điều tra lý do việc import project-main khiến không tìm thấy project-dep trong company_namespace dùng chung; hoàn tất khi cả hai import đều hoạt động với cả layout src và flat.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
When a Python package using a PEP 420 implicit namespace is installed in editable mode, it shadows/hides other packages installed in the same namespace. This makes the other packages in the shared namespace un-importable, leading to ModuleNotFoundError.
Note: It's the same for both src and flat layouts.
Steps to reproduce:
Here is a minimal example with two packages, project-dep and project-main, which both live in the company_namespace implicit namespace. project-main depends on project-dep.
project-dep:
project-dep/
├── pyproject.toml
└── company_namespace/
└── project_dep/
└── __init__.py
project-main:
project-main/
├── pyproject.toml # dependencies: ["project-dep"]
├── meson.build
└── company_namespace/
└── project_main/
├── __init__.py
└── native.c
- Setup:
# Install build requirements
pip install meson-python
# Install project-dep
pip install ./project-dep
# Install project-main as editable
pip install --no-build-isolation -e ./project-main
- Test:
python
>>> import company_namespace.project_main # This works fine
>>> import company_namespace.project_dep # ModuleNotFoundError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
import platform
ModuleNotFoundError: No module named 'company_namespace.project_dep'
Example
A ready-to-use example is set up here: https://github.com/bastiensoucasse/mesonpy-namespace-editable.
- Ngôn ngữ chính
- Python
- Star
- 180
- Fork
- 93
- Merge trung bình
- 20 giờ 58 phút
- Pull request đã merge (30 ngày)
- 22
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của mesonbuild/meson-python
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
mesonbuild/meson-python#541 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
mesonbuild/meson-python#473 · 6 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation enhancement tests
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
mesonbuild/meson-python#903 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
mesonbuild/meson-python#871 · 7 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
pip install overrides existing build configurationCó thể đã có người làm @Alvaro-Kothe đã nhận 113 ngày trước. Đang mởquestion
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
mesonbuild/meson-python#851 · 6 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của mesonbuild/meson-python
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
FuRongJun-1999/dsh-memory#65 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ci needs-ac
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Ikalus1988/MisakaNet#2930 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`FakeBackendV2.run` fails with `NoiseError` on circuits with delays on qubits where T2 > 2·T1Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Qiskit/qiskit-aer#2466 ·
-
area/cli
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100