Editable install of a PEP 420 namespace package shadows other packages in the same namespace
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- build-system
調査の方向性
2つのサンプルプロジェクトの pyproject.toml ファイルと project-main の meson.build から始め、次に記載されている pip コマンドを使って editable install を再現します。project-main を import すると共有の company_namespace で project-dep が見つからなくなる理由を調査します;src レイアウトと flat レイアウトの両方で両方の import が機能すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Python
- スター
- 180
- フォーク
- 93
- 平均マージ
- 18時間 33分
- マージ済み PR(30日)
- 19
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
mesonbuild/meson-python のほかの issue
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
mesonbuild/meson-python#541 ·
メンテナーはふだん 1 日以内に返信
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
mesonbuild/meson-python#473 · コメント 6 件 ·
メンテナーはふだん 1 日以内に返信
-
documentation enhancement tests
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
mesonbuild/meson-python#903 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
mesonbuild/meson-python#871 · コメント 7 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
pip install overrides existing build configuration対応中かも @Alvaro-Kothe が 117 日前に担当しました。 オープンquestion
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
mesonbuild/meson-python#851 · コメント 6 件 ·
メンテナーはふだん 1 日以内に返信
mesonbuild/meson-python の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
topoteretes/cognee#5647 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Sendspin/sendspin-python-cli#291 ·
メンテナーはふだん 6 日以内に返信
-
Assertion-shape guard fails on development: vacuous recorded-iteration assertion in the assetLinks batch_get helper test対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
awslabs/visual-asset-management-system#414 ·
メンテナーはふだん 1 日以内に返信
-
bug v1 v2
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
modelcontextprotocol/python-sdk#3670 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
aicell-lab/bioengine#232 ·
メンテナーはふだん 1 日以内に返信