2017-04-27 15 views
15

Tôi bắt đầu làm việc trên python. Tôi đã thêm request.txt và setup.py vào dự án của mình. Nhưng tôi vẫn còn bối rối về cả hai tập tin. Tôi có một số thông tin như setup.py được thiết kế cho những thứ có thể phân phối lại và requirements.txt được thiết kế cho những thứ không phân phối lại được. Nhưng tôi không biết liệu nó có đúng hay không.requirements.txt vs setup.py

Có thể vui lòng giúp tôi.

+0

chào @lucy chào mừng bạn đến với SO ... Bạn cần tạo [mvce] (https://stackoverflow.com/help/mcve) –

+0

Bạn đã tìm kiếm trên web bằng tên chính xác của mình chưa? [Bài viết này] (https://caremad.io/posts/2013/07/setup-vs-requirement/) (hit đầu tiên khi tôi tìm kiếm) là tốt nhất tôi đã đọc về chủ đề này. – Chris

+1

Bài viết này có thể hữu ích: https://caremad.io/posts/2013/07/setup-vs-requirement/ (xin lỗi, quá lười biếng để trích yếu tố cần thiết thành câu trả lời đúng). Một điều nữa là, một số công cụ (ví dụ: thử nghiệm) có thể có những thành kiến ​​của chúng đối với nhau hoặc khác - nhưng đừng để nó làm phiền bạn nếu bạn mới bắt đầu làm việc với Python. – drdaeman

Trả lời

10

requirements.txt

Điều này giúp bạn thiết lập môi trường phát triển của bạn. Các chương trình như pip có thể được sử dụng để cài đặt tất cả các gói được liệt kê trong tệp trong một lần giảm. Sau đó bạn có thể bắt đầu phát triển kịch bản python của bạn.

setup.py

Điều này cho phép bạn tạo các gói, bạn có thể phân phối lại. Kịch bản này có nghĩa là để cài đặt gói của bạn, không phải để chuẩn bị môi trường phát triển của bạn là pip -r < requirements.txt. Xem this answer để biết thêm chi tiết về setup.py.

Phụ thuộc của dự án của bạn được liệt kê trong cả hai tệp.

+0

Trong trường hợp nào tôi chỉ có một trong số chúng? Trong đó tôi sẽ có cả hai? –

+1

Erm ... bạn chỉ cần kịch bản cho vui trên máy địa phương của bạn: Không. Tập lệnh được phát triển trên nhiều máy/vitualenvs nhưng không được phân phối lại: requirements.txt. Tập lệnh chỉ được phát triển trên máy của bạn nhưng phải được phân phối lại: setup.py. Tập lệnh sẽ được phân phối lại và phát triển trong nhiều môi trường: Cả hai. – AndreasT

+0

Bạn có thể thêm câu trả lời này vào câu trả lời không? –

Các vấn đề liên quan