Editable installation isn't working properly
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1k
- Forks
- 203
- Avg merge
- 1h 20m
- Merged PRs (30d)
- 2
Description
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
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in pyperformance/init.py, especially is_installed(), is_dev(), and _is_devel_install(), then inspect how dev.py creates and invokes editable installations. Reproduce the failure with pip install -e . and python -m pyperformance. Done means editable installs pass the installation check and the dev.py compile flow can invoke pyperformance successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100