python / python/pyperformance

Editable installation isn't working properly

Đang mở
#319 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Python
Star
1k
Fork
203
Merge trung bình
1 giờ 20 phút
Pull request đã merge (30 ngày)
2

Mô tả

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-info directory in the git repository
  • __editable___pyperformance_1_0_9_finder.py, __editable__.pyperformance-1.0.9.pth, pyperformance-1.0.9.dist-info in 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 

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

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.

Hướng nghiên cứu

Bắt đầu trong pyperformance/init.py, đặc biệt là is_installed(), is_dev() và _is_devel_install(), sau đó kiểm tra cách dev.py tạo và gọi các editable installation. Tái hiện lỗi bằng pip install -e .python -m pyperformance. Hoàn tất khi các editable installation vượt qua bước kiểm tra cài đặt và luồng biên dịch của dev.py có thể gọi pyperformance thành công.

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

Đánh giá

Công nghệ
python
Lĩnh vực
build-system
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

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.