2011-10-27 8 views
14

tôi có một dự án python với cấu trúc sau:Làm thế nào để bao gồm tài liệu thư mục trong phân phối python

Clustering (project name) 
    clustering (package) 
    clustering.py and other modules 
    tests (sub-package) 
     test_clustering.py and other such files 
    docs/ 
    bin/ 

Tôi muốn để bao gồm các thư mục tài liệu trong phân phối của tôi, nhưng tôi dường như không thể làm điều đó. Bất kỳ con trỏ nào về việc làm thế nào điều này có thể được thực hiện sẽ rất hữu ích.

setup.py hiện tại của tôi trông như thế này:

from distutils.core import setup 
setup(name='Clustering', 
     version='1.0', 
     description='desc', 
     author='A', 
     author_email='[email protected]', 
     packages=['clustering', 'clustering.tests'], 
     requires=['numpy', 'scipy'], 
     scripts=['bin/predict', 'bin/verify'] 
    ) 

tôi đã cố gắng sử dụng tùy chọn package_data nhưng đã không thành công trong đó có thư mục tài liệu trong việc phân phối. Có cách nào khác thường bao gồm các tài liệu của bạn trong phân phối không?

Trả lời

16

Bạn sẽ cần phải tạo ra một tập tin MANIFEST.in và bao gồm một số hướng dẫn đơn giản về những tập tin thêm bạn muốn bao gồm (Xem MANIFEST.in Template)

Ví dụ (bao gồm tài liệu dir và tất cả các file trực tiếp bên dưới):

include docs/* 

hay, bao gồm tất cả các file trong thư mục doc (đệ quy):

recursive-include docs * 
+3

'docs' ghép nên làm việc cũng như' đệ quy-bao gồm tài liệu * ', phải không? Có sự khác biệt nào không? – kojiro

+1

tại sao không làm việc cho tôi? – holys