2017-05-30 18 views
6

Tôi muốn tạo một bdist cho gói Python của mình. Gói chứa tệp LICENSE bắt buộc là một phần của bản phân phối.Cách gửi tệp dữ liệu bằng phân phối nhị phân python?

Tôi đã thêm tham chiếu đến tệp LICENSE trong tệp MANIFEST.IN của mình và thực sự sau khi tạo sdist cho gói của mình, tệp LICENSE đã có.

Tuy nhiên, có vẻ như khi tôi tạo một bánh xe Python cho gói của tôi (python setup.py bdist_wheel), tệp LICENSE không có nơi nào để xem.

Tôi quen thuộc với khái niệm của setup.py của package_datadata_files - nhưng họ dường như không có liên quan trong trường hợp sử dụng của tôi: package_data đòi hỏi sự tập LICENSE được bên trong một gói Python, nhưng tôi cần để có tệp này trên thư mục cấp cao nhất của dự án, đây không phải là gói Python. data_files yêu cầu tôi ánh xạ thư mục đích cho tệp sau khi cài đặt, nhưng thay vì có liên quan đến gói của dự án, nó liên quan đến cài đặt python - điều tôi thấy rất lạ, vì nó phụ thuộc vào hệ điều hành/nền tảng, cho dù virtualenv có được sử dụng hay không, vv

Tôi hiểu rằng vào cuối ngày, các gói được cài đặt theo site-packages và không có chỗ cho "tệp cấp cao nhất" sau khi cài đặt. Tuy nhiên, tôi đang tìm cách để có tệp LICENSE như một phần của wheel của tôi, ngay cả khi nó không được sao chép sau này trong khi cài đặt cho bất kỳ vị trí cụ thể nào.

Trả lời

0

Bạn có thể sử dụng đường dẫn tương đối cho các tệp dữ liệu:

package_data={"package": ["../LICENSE", …]}, 
Các vấn đề liên quan