Như tôi đã nói gần đây trên một chủ đề hn , tôi sẽ đề nghị như sau:
Có một requirements.txt
tệp nhận xét với các phụ thuộc chính của bạn:
## this is needed for whatever reason
package1
Cài đặt phụ thuộc của bạn : pip install -r requirements.txt
. Bây giờ bạn có được danh sách đầy đủ các phụ thuộc của bạn với pip freeze -r requirements.txt
:
## this is needed for whatever reason
package1==1.2.3
## The following requirements were added by pip --freeze:
package1-dependency1==1.2.3
package1-dependency1==1.2.3
Điều này cho phép bạn giữ cấu trúc tệp của mình với các nhận xét, tách biệt các phụ thuộc của bạn khỏi các phụ thuộc của các phụ thuộc. Bằng cách này, bạn sẽ có thời gian đẹp hơn nhiều vào ngày bạn cần xóa một trong số chúng :)
Lưu ý những điều dưới đây:
- Bạn có thể dọn dẹp
requirements.raw
với kiểm soát phiên bản để xây dựng lại toàn bộ requirements.txt
.
- Cảnh giác với các url git được thay thế bằng tên trứng trong quá trình.
- Sự phụ thuộc của các phụ thuộc của bạn vẫn được sắp xếp theo thứ tự bảng chữ cái để bạn không trực tiếp biết gói nào được yêu cầu bởi gói nào nhưng tại thời điểm này bạn không thực sự cần nó.
- Sử dụng
pip install --no-install <package_name>
để liệt kê các yêu cầu cụ thể.
- Sử dụng virtualenv nếu bạn không.
pipdeptree -r
"Hiển thị cây phụ thuộc theo kiểu ngược lại. Phụ thuộc phụ được liệt kê với danh sách các gói cần chúng theo chúng."