Tôi đang sử dụng pip với virtualenv để đóng gói và cài đặt một số thư viện Python.
Tôi tưởng tượng những gì tôi đang làm là một kịch bản khá phổ biến. Tôi là người bảo trì một số thư viện mà tôi có thể chỉ định các phụ thuộc một cách rõ ràng. Một số thư viện của tôi phụ thuộc vào các thư viện của bên thứ ba có các phụ thuộc bắc cầu mà tôi không có quyền kiểm soát.
Những gì tôi đang cố gắng đạt được là pip install
trên một trong các thư viện của tôi tải xuống / cài đặt tất cả các phụ thuộc ngược dòng của nó. Điều tôi đang gặp khó khăn trong tài liệu về pip là nếu / cách các tệp yêu cầu có thể tự thực hiện điều này hoặc nếu chúng thực sự chỉ là một phần bổ sung để sử dụng install_requires
.
Tôi có sử dụng install_requires
trong tất cả các thư viện của mình để chỉ định phụ thuộc và phạm vi phiên bản rồi chỉ sử dụng tệp yêu cầu để giải quyết xung đột và / hoặc đóng băng chúng cho bản dựng sản xuất không?
Hãy giả sử tôi đang sống trong một thế giới tưởng tượng (tôi biết, tôi biết) và các phụ thuộc ngược dòng của tôi rất đơn giản và được đảm bảo không bao giờ xung đột hoặc phá vỡ khả năng tương thích ngược. Tôi có bị bắt buộc phải sử dụng tệp yêu cầu pip hay chỉ để pip / setuptools / phân phối cài đặt mọi thứ dựa trên install_requires
?
Có rất nhiều câu hỏi tương tự ở đây, nhưng tôi không thể tìm thấy câu nào cơ bản như khi nào sử dụng cái này hay cái kia hoặc sử dụng cả hai một cách hài hòa.