Làm cách nào để chỉ định phụ thuộc tùy chọn trong tệp yêu cầu pip? Theo các pip documentation điều này là có thể, nhưng tài liệu không giải thích làm thế nào để làm điều đó và tôi không thể tìm thấy bất kỳ ví dụ trên web.Phụ thuộc tùy chọn trong tệp yêu cầu pip
Trả lời
Thay vì chỉ định phụ thuộc tùy chọn trong cùng một tệp với yêu cầu khó, bạn có thể tạo optional-requirements.txt
và requirements.txt
.
Để xuất gói môi trường hiện tại của bạn vào một tập tin văn bản, bạn có thể làm điều này:
pip freeze > requirements.txt
Nếu cần thiết, sửa đổi các nội dung của requirements.txt thể hiện chính xác phụ thuộc của dự án của bạn. Sau đó, để cài đặt tất cả các gói trong tập tin này, hãy chạy:
pip install -U -r requirements.txt
-U
nói pip
để nâng cấp gói lên phiên bản mới nhất, và -r
nói với nó để cài đặt tất cả các gói trong requirements.txt.
Tôi nghĩ bạn đã hiểu nhầm câu hỏi. 'pip freeze' sẽ chỉ in ra tất cả các phụ thuộc. Những gì tôi muốn biết là làm thế nào tôi có thể xác định phụ thuộc nào được yêu cầu và đó là tùy chọn trong tệp yêu cầu pip. – del
Tôi thấy tài liệu tham khảo trong tài liệu mà tôi nghĩ bạn đang đề cập đến, nhưng tôi không chắc là có thể trong một tệp yêu cầu ... mặc dù bạn có thể có hai tệp phụ thuộc, một tệp liệt kê các phụ thuộc tùy chọn. Tôi sẽ sửa đổi câu trả lời của tôi –
Cảm ơn - đây là phương pháp tôi đã tham gia, nhưng đọc một chút về các phụ thuộc tùy chọn trong tài liệu khiến tôi nghĩ rằng có thể có cách tốt hơn để làm điều đó. – del
Bạn hiểu nhầm tài liệu; chúng không rõ ràng như chúng có thể. Điểm trong tài liệu là với một tệp yêu cầu, bạn có thể thoải mái chỉ định toàn bộ gói làm việc được đề xuất của mình, bao gồm cả các phụ thuộc cần thiết và các gói tùy chọn. Bạn có thể thêm ý kiến (dòng bắt đầu bằng #) để phân biệt hai dòng với con người, nhưng pip không phân biệt. Bạn cũng có thể có hai tệp yêu cầu, như Daniel gợi ý.
Bạn không thực sự tự do bao gồm cả phụ thuộc bắt buộc và tùy chọn trong tệp yêu cầu vì 'pip install' sẽ ngay lập tức hủy bỏ nếu bất kỳ gói nào trong tệp không cài đặt được. Dường như việc sử dụng hai tệp yêu cầu riêng biệt là giải pháp chính xác duy nhất. – del
Năm 2015 PEP-0508 định nghĩa một cách để xác định phụ thuộc tùy chọn trong requirements.txt
:
requests[security]
Điều đó có nghĩa rằng yourpackage
nhu cầu requests
cho tùy chọn bảo mật của nó. Bạn có thể cài đặt như sau:
pip install yourpackage[security]
Bạn có thể định cấu hình một trong các "phần bổ sung" này bằng cách sử dụng đối số ['extras_require'] (http://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own -dependencies) cho hàm 'setup' trong' setuptools'. Bạn có thể thấy trong [yêu cầu setup.py] (https://github.com/requests/requests/blob/3c1d36b827417fdeaf5a1c106129de30dac371d7/setup.py#L98) cách cấu hình bổ sung 'bảo mật' "được định cấu hình. –
- 1. Yêu cầu tệp cho apt-get, tương tự pip
- 2. Độc lập nền tảng trong các tệp yêu cầu pip
- 3. tải phụ thuộc javascript theo yêu cầu
- 4. Rubygems phụ thuộc tùy chọn
- 5. distutils, distutils2, pip và các yêu cầu
- 6. PIP: Chỉ cài đặt các phụ thuộc
- 7. JUnit tùy chọn/yêu cầu kiểm tra
- 8. Yêu cầu sự phụ thuộc của một phụ thuộc khác trong các mô-đun nút
- 9. Yêu cầu phụ thuộc để có được Rails lớp con
- 10. Dữ liệu "Tùy chọn phụ thuộc" trong Haskell
- 11. Chỉ định phụ thuộc tùy chọn trong pypi python setup.py
- 12. pip install với tùy chọn xóa theo mặc định
- 13. Tùy chọn "-U" đứng trong pip install -U
- 14. "thiếu yêu cầu: tùy chọn thùng" cho Paperclip/S3
- 15. pip: cách cài đặt yêu cầu kéo git
- 16. Yêu cầu tệp có tiêu đề tùy chỉnh
- 17. Bộ chọn yêu cầu thuộc tính có thể kéo?
- 18. Làm cách nào để nâng cấp các gói cụ thể bằng pip và tệp yêu cầu?
- 19. Lỗi phụ thuộc tròn trong Rails 4 trong Thông số Yêu cầu Rspec
- 20. Có một tham số tùy chọn mà yêu cầu thông số khác để có mặt
- 21. Tôi có thể xác định yêu cầu giao diện/phụ thuộc/kế thừa kế thừa không?
- 22. xóa các tệp phụ thuộc
- 23. cách truy cập yêu cầu trong phụ trợ xác thực tùy chỉnh django?
- 24. jQuery xác thực - nếu một tùy chọn được chọn làm cho tùy chọn tiếp theo không được yêu cầu?
- 25. Kiểm tra xem các tệp được yêu cầu có được chọn trong "hàng" chọn
- 26. Làm cách nào để tạo tệp yêu cầu pip cho tarball trên hệ thống tệp cục bộ của tôi?
- 27. Yêu cầu về bộ nhớ và yêu cầu lưu trữ
- 28. Yêu cầu phụ thuộc maven cho Apache POI để làm việc
- 29. Chiến lược tốt nhất để xử lý các phụ thuộc tùy chọn
- 30. Pip: Chỉ định phiên bản phụ
Great Q. - q có liên quan. sẽ là làm thế nào để xác định một tập hợp các yêu cầu cần được cài đặt nhưng không nên xem xét việc cài đặt một sự thất bại nếu chúng không thể được cài đặt. Tôi có một gói mà hoạt động tốt hơn nếu numpy được cài đặt nhưng có một dự phòng nếu numpy không thể biên dịch vì lý do nào. Tôi rất thích làm cho nó một mặc định cài đặt nhưng tùy chọn nếu yêu cầu thất bại. –