Editable installation isn't working properly
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 1k
- フォーク
- 203
- 平均マージ
- 1時間 20分
- マージ済み PR(30日)
- 2
説明
If pyperformance is installed as editable pip install -e . from the git repository, it doesn't work when invoked
$ /tmp/tmpdir/prefix/bin/python3 -u -m pyperformance
ERROR: pyperformance should not be run without installing first
(consider using the dev.py script)
The check is done by is_installed() which calls both _is_dev() and _is_devel_install() which are both broken.
The function is_dev() bases the logic on the presence of setup.py which is long gone.
The function _is_devel_install() instead check the presence of pyperformance.egg-link in the site-packages.
In my installation I have:
pyperformance.egg-infodirectory in the git repository__editable___pyperformance_1_0_9_finder.py,__editable__.pyperformance-1.0.9.pth,pyperformance-1.0.9.dist-infoin the site-packages
I'm trying to invoke pyperformance using a dev instance via
python3.12 /work/oss/repos/pyperformance/dev.py compile_all benchmark.conf
and it will fail eventually:
2023-10-19 15:25:52,049: Building wheels for collected packages: pyperformance
2023-10-19 15:25:52,050: Building editable for pyperformance (pyproject.toml): started
2023-10-19 15:25:52,885: Building editable for pyperformance (pyproject.toml): finished with status 'done'
2023-10-19 15:25:52,888: Created wheel for pyperformance: filename=pyperformance-1.0.9-0.editable-py3-none-any.whl size=6710 sha256=159fbc3f13ae47399e04d5f7cdf5e024c3652b2ed91096f8638844238e005c0d
2023-10-19 15:25:52,888: Stored in directory: /tmp/pip-ephem-wheel-cache-ubyuatck/wheels/0d/04/cb/add3bede8e376e8789c834f334f1834467606bde2625d5a4ad
2023-10-19 15:25:52,896: Successfully built pyperformance
2023-10-19 15:25:52,922: Installing collected packages: psutil, packaging, pyperf, pyperformance
2023-10-19 15:25:53,307: Successfully installed packaging-23.2 psutil-5.9.6 pyperf-2.6.1 pyperformance-1.0.9
2023-10-19 15:25:53,437: + /tmp/tmpdir/prefix/bin/python3 -u -m pyperformance venv recreate --venv /tmp/tmpdir/venv --benchmarks '<NONE>'
2023-10-19 15:25:53,514: ERROR: pyperformance should not be run without installing first
2023-10-19 15:25:53,515: (consider using the dev.py script)
2023-10-19 15:25:53,523: Command /tmp/tmpdir/prefix/bin/python3 -u -m pyperformance venv recreate --venv /tmp/tmpdir/venv --benchmarks '<NONE>' failed with exit code 1
2023-10-19 15:25:53,565: Command /work/oss/ENTLLT-6897/venv3.12/bin/python -m pyperformance compile /work/oss/repos/ci-scripts/projects/python/benchmark.conf be5e8a010341c4d2d28ef53a1baed402ee06466e main --no-update --no-tune failed with exit code 11
2023-10-19 15:25:53,565: Benchmark exit code: 11
2023-10-19 15:25:53,566: FAILED: main-be5e8a010341c4d2d28ef53a1baed402ee06466e
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
pyperformance/init.py から始め、特に is_installed()、is_dev()、_is_devel_install() を確認し、その後 dev.py が editable installation をどのように作成して呼び出すかを調べます。pip install -e . と python -m pyperformance で失敗を再現します。editable installation がインストールチェックに合格し、dev.py のコンパイルフローから pyperformance を正常に呼び出せれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- build-system
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100