2012-03-11 6 views
3

パッケージデータを含むdistutilsでパッケージを作成しました。 私のパッケージのtar.gzを見ると、予想されるファイルが表示されますが、パッケージのインストール後(pipまたは 'python setup.py install'によって)パッケージデータはありません。 Pythonスクリプトのみが含まれています。私setup.pyがある:インストールする'パッケージデータ'ファイルはどこにありますか?

# py3.3 
#from packaging.core import setup 
# py3.2 
from distutils.core import setup 

setup(
    name = 'mypkg', 
    version = '0.7dev', 
    author = 'Projekt Alef', 
    author_email = 'tymoteusz.jankowsk[email protected]', 
    packages = [ 
     'my_pkg', 
     'my_pkg/tests', 
     'my_pkg/plugins', 
    ], 
    #scritps=['bin/setup.sh',], 
) 
+0

あなたの 'setup.py'を含めることができますか? –

+0

確かに、それはここにある[setup.py](http://pastebin.com/a9Bap8vP) – xliiv

+1

パッケージはドット付きの名前のリストでなければなりません。mypkg/testsではなくmypkg.testsでなければなりません。 –

答えて

2

パッケージのデータがsetup()関数に渡さpackage_data={}辞書として含まれるべきです。あなただけ(あなたのテストをインストールしないことを好むかもしれ、さらに

package_data = { 
    'exceptional_middleware': [ 'templates/http_responses/*.html' ], 
} 

:各辞書のような、それに/からインストールするモジュール(パッケージ)をインストールすると、データファイルを見つけるためのパターンのリストを与えますpackagesリストからpkg/testsをドロップしてください)。

+0

MANIFEST.inはどうですか? MANIFEST.inで十分だと思いました。私の 'python setup.py sdist'の出力には、より望ましい 'パッケージデータ'ファイルがすべて含まれています。 問題は、インストール後のパッケージ(必要なすべてのファイルを含む)が「パッケージデータ」ファイルを失ったことです。 O_o – xliiv

+1

sdistに何かがあることは、それをインストールしたい人に配布されることを意味します*インストールされません。私はMANIFESTの詳細を覚えていません.pin_dataとpythonのdocサイトは現在ダウンしています。ここにある例を見ると、それは両方にありますが、ばかげているように見えますが、明らかに機能しています。 –

+0

あなたは100%正しいです。マニフェストは十分ではありません。これを達成するには、package_data varをセットアップ関数に配置することが必須です。 O_o ありがとう:) – xliiv

関連する問題