2013-01-20 50 views
16

我想創建一個Python包,我有這樣的目錄結構:MANIFEST.in,package_data和data_files的說明?

mypkg/ 
├── __init__.py 
├── module1 
│   ├── x.py 
│   ├── y.py 
│   └── z.txt 
└── module2 
    ├── a.py 
    └── b.py 

然後,我添加的所有文件MANIFEST.in當我檢查創建的存檔,它把所有的文件。

當我做python setup.py installdist-packages/mypkg/module1。我只看到Python文件,而不是z.txt

z.txt兩個MANIFEST.insetup.py

setup (
    packages = [ 
     'mypkg', 
     'mypkg.module1', 
     'mypkg.module2', 
    ], 
    package_data = { 
     'mypkg': ['module1/z.txt'] 
    }, 
    include_package_data = True, 
    ... 
) 

我嘗試添加該文件作爲data_files很好,但在/usr/local創建的目錄。我想將它保存在源代碼目錄中,因爲代碼使用該數據。

我已閱讀下面列出的帖子,但我一直在困惑什麼是正確的方式來保存z.txtsetup.py install後正確的位置。

+0

更新: 當我開始使用setuptools而不是distutils.core時,它得到了修復。我認爲distutils沒有同意顯示時出現了一些問題,而setuptools在沒有任何代碼更改的情況下工作。 我推薦將來使用setuptools。使用鏈接[這裏] [1]。 [1]:http://peak.telecommunity.com/DevCenter/setuptools#developer-s-guide – Sourabh

回答

2

更新:當我開始使用setuptools而不是distutils.core時,它得到了修復。我認爲distutils沒有同意顯示時出現了一些問題,而setuptools在沒有任何代碼更改的情況下工作。我建議將來使用setuptools。使用鏈接here : setup tools- developers guide

11

嘗試使用setuptools的,而不是的distutils。

+0

是的setuptools修復它。我對這個問題發表了評論,因爲我無法自我回答。 – Sourabh