2009-05-21 10 views
6

私はsetup.pyにそうようnamespace_packagesfind_packages()を使用してPythonパッケージに取り組んでいる:それは、上流コンポーネントの束であるため、setuptoolsはどのファイルをsdist/bdistに保存するかをどのように決定しますか?

from setuptools import setup, find_packages 
setup(name="package", 
    version="1.3.3.7", 
    package=find_packages(), 
    namespace_packages=['package'], ...) 

これは、ソースコントロールではありません。 MANIFESTはありません。

私がpython setup.py sdistを実行すると、package/ディレクトリの下にあるほとんどのファイルのtarballが取得されますが、.pyファイルを含まないディレクトリは除外されます。

setup.pyには、ビルドされたディストリビューションに含まれ、除外されるデフォルトルールは何ですか?私は

recursive-include package * 

MANIFEST.inを追加することによって、私の問題を修正しましたが、私はsetuptoolsのとはdistutilsがデフォルトで何をしているかを理解したいと思います。

答えて

4

package_dataディレクティブを追加する必要があります。たとえば、拡張子が.txtまたは.rstのファイルを含める場合は、

from setuptools import setup, find_packages 
setup(name="package", 
    version="1.3.3.7", 
    package=find_packages(), 
    include_package_data=True, 
    namespace_packages=['package'], 
    package_data = { 
     # If any package contains *.txt or *.rst files, include them: 
     '': ['*.txt', '*.rst']... 

) 
+1

Okを入力してください。しかし、 '' pip install git + git:// repo''を実行すると、ファイルはインクルードされません。あなたはディレクトリレイアウトのカーテンレベルにあると思われますか? – Pol

関連する問題