Khi tạo một phân phối nguồn sử dụng setuptools python (python setup.py sdist
), tôi đang sử dụng một tập tin MANIFEST.in
chứa dòng:Bỏ qua các liên kết tượng trưng trong trình thiết lập MANIFEST.in?
recursive-include mypackage
vì tôi muốn bao gồm một số tác phẩm phi mô-đun bên trong thư mục mypackage. Tuy nhiên, cũng có các liên kết tượng trưng trong thư mục mypackage có các mục tiêu mà tôi không muốn đưa vào phân phối nguồn của mình. Có cách nào để chỉ định "bỏ qua các liên kết tượng trưng" bên trong MANIFEST.in
không?
Tôi biết ... Tôi có lẽ không nên có các liên kết tượng trưng đó.
Có thể bạn có thể loại trừ chúng bằng cách chạy hàm chuyển 'MANIFEST_template.in' thành' MANIFEST.in' khi bắt đầu 'setup.py'? Quét tìm các liên kết tượng trưng với thông tin từ [bài đăng này] (http://stackoverflow.com/questions/17889368/if-path-is-symlink-to-another-path). Sẽ là tốt đẹp nếu có một lựa chọn như vậy, mặc dù. – greschd
Theo hiểu biết tốt nhất của tôi, bạn nên tránh sử dụng 'mypackage' bao gồm đệ quy để bao gồm mọi thứ trong gói của bạn. Điều này có thể nhận được rất nhiều điều bạn thực sự không muốn bao gồm trong bản phân phối của bạn. Bạn nên liệt kê các tệp cụ thể nếu chúng ít và đặc biệt hoặc bao gồm các tệp đó theo tiện ích hoặc mẫu tên tệp khác, ví dụ: 'đệ quy-bao gồm mypackage * .mydataformat'. – taleinat
Nếu bạn biết các liên kết tượng trưng, bạn có thể thêm 'exclude's' sau 'recursive-include' trong' MANIFEST.in' - các chỉ thị được đánh giá theo thứ tự. – fpbhb