私が見つけた、複数のソース(https://docs.python.org/3/distutils/sourcedist.html#specifying-the-files-to-distribute、http://blog.ionelmc.ro/2014/05/25/python-packaging/、http://blog.ionelmc.ro/2014/06/25/python-packaging-pitfalls/)。私のパッケージ内のファイルは、このように見て省かファイル(うまくいけば無関係)の残りの部分とsetup.pyはどこでvirtualenvの中にデータファイルをインストールしますか? Pythonパッケージ内のデータファイルを配布する方法はsetuptoolsのの<code>include_package_data</code>オプションと<code>MANIFEST.in</code>を使用することであることを示唆している
setup.py
setup( # ... include_package_data = True, # ...
、などです。
MANIFEST.IN
graft testdata include ChangeLog include README.rst include COPYING include COPYING.LESSER include tox.ini
私はsetup.py install
を実行したり、virtualenvの中にピップを使用する場合、私は、Pythonのソースファイル自体で終わるが、どこにもtestdata/
せずに私はそれを見つけることができます。私はこれが私のパッケージングのエラーだと思っていましたが、同様のレイアウトの別のパッケージをつかむと、データファイルも見つけられませんでした。サンプルパッケージhttps://github.com/ionelmc/python-namelessのリポジトリをクローン化し、setup.py install
を使用してインストールすると、パッケージはディレクトリlib/python3.4/site-packages/nameless-0.1.0-py3.4.egg/nameless/
にインストールされます。しかし、私はvirtualenvのどこにでもデータファイルやテストを見つけることができません。彼らはどこで終わるはずですか?これはどうやって動くのだろう?
この質問をする私の動機は、プロジェクトの別のコントリビュータがデータファイルを必要とするテストをpipインストールから実行したいということです。これは最初の正しいアプローチですか?
で
include_package_data = True
を指定する必要があります信じていません。同様の質問は私の[回答](http://stackoverflow.com/a/34788912/3626079)を参照してください。 – ziky