Add "Externally Managed Environments" support to block global package installations via pip
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
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python, typescript
Hướng nghiên cứu
Bắt đầu bằng cách đọc đường dẫn setup-python tool-cache đánh dấu một phiên bản Python đã cài đặt là khả dụng, sau đó xem lại đặc tả được liên kết về các môi trường được quản lý bên ngoài. Xác định marker nên được tạo như thế nào trước khi trạng thái khả dụng được ghi nhận và những bài kiểm thử hiện có nào bao quát các bản cài đặt Python được lưu trong bộ nhớ đệm. Hoàn thành nghĩa là các cài đặt pip toàn cục bị chặn đối với interpreter được lưu trong bộ nhớ đệm mà không làm gián đoạn các workflow virtual-environment hoặc uv được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description:
To prevent system package breakage, many Linux distributions are now restricting pip install to virtual environments or uv environments (something private either way). In self-hosted environments, especially when using ephemeral runners, the hosted tools cache functionality is critical for scaling.
The current methodology allows a pip install to install directly to the cached directory for a given Python after installation, which leads to potentially broken dependency trees and all other kinds of errors if developers are not careful with their package installs. It can also lead to weird race conditions in the same way.
I propose a new input for actions/setup-python that creates the EXTERNALLY-MANAGED file right before a version of Python is marked as available (e.g. creation of the x64.complete file) that would block global pip installs.
Justification:
Did all of this in the above. Didn't read the template first.
Are you willing to submit a PR?
Absolutely. This is more of a RFC to gauge the level of interest here.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.2k
- Fork
- 739
- Merge trung bình
- 6 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 1
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
- Đọ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 actions/setup-python
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
actions/setup-python#1348 · 5 bình luận ·
-
feature request
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
actions/setup-python#1346 · 12 bình luận ·
-
feature request
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
actions/setup-python#1308 · 8 bình luận ·
-
feature request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
actions/setup-python#1301 · 5 bình luận ·
-
feature request
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
actions/setup-python#1294 · 3 bình luận · 2 reaction ·
Tất cả issue của actions/setup-python
Issue tương tự
-
blocklist removal
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
MetaMask/eth-phishing-detect#296544 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
pastelsky/bundlephobia#1122 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100