私は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 install
をdist-packages/mypkg/module1
で行うとします。私はz.txt
ではなくPythonファイルのみを見る。
私はMANIFEST.in
とsetup.py
の両方でz.txt
を持っている:
setup (
packages = [
'mypkg',
'mypkg.module1',
'mypkg.module2',
],
package_data = {
'mypkg': ['module1/z.txt']
},
include_package_data = True,
...
)
私もdata_files
としてファイルを追加しようとしたが、それは/usr/local
でディレクトリを作成しました。コードがそのデータを使用しているので、ソースコードディレクトリ内に保持したいと思います。
私は以下の投稿を読んでいますが、setup.py install
の後に正しい場所にz.txt
を保存する正しい方法が何であるか混乱し続けます。 Installing data files into site-packages with setup.py
更新: distutils.coreの代わりにsetuptoolsを使用したときに修正されました。 setuptoolsがコードを変更せずに働いていたのに対し、distutilsはマニフェストに同意しないといくつかの問題があったと思います。 今後はsetuptoolsの使用をお勧めします。リンクを使用する[ここ] [1]。 [1]:http://peak.telecommunity.com/DevCenter/setuptools#developer-s-guide – Sourabh