我想创建一个可分发的Python包。为此,我将目录组织如下:
.
├── config
│ └── test.yml
├── MANIFEST.in
├── sample
│ ├── hello.py
│ ├── __init__.py
│ └── world
│ ├── __init__.py
│ └── refer.py
└── setup.py
MANIFEST.in
仅包含一行:
graft config
setup.py
如下:
from setuptools import setup
setup(
name='sample',
version='1.0',
packages=[
'sample',
'sample.world'
],
include_package_data=True
)
但是,在运行pip install .
之后,最终得到目标目录的以下内容:
.
./__pycache__
./__pycache__/__init__.cpython-36.pyc
./__pycache__/hello.cpython-36.pyc
./world
./world/__pycache__
./world/__pycache__/__init__.cpython-36.pyc
./world/__pycache__/refer.cpython-36.pyc
./world/refer.py
./world/__init__.py
./hello.py
./__init__.py
虽然我希望config
及其包含的YAML文件在那里。我究竟做错了什么?谢谢!
答案 0 :(得分:0)
下面是一些示例 setup.py ,它包含数据文件,并引用以查找该文件。
from setuptools import setup
setup(...
packages=find_packages(),
package_data={'': ['config/*.yml'],
},
...)