Tôi đã có một tập tin setup.py
mà trông như thế này:setuptools: tập tin dữ liệu bao gồm với `bdist` nhưng không phải với` sdist`
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(
name="foo",
version="1.0",
packages=find_packages(),
include_package_data=True,
package_data={
"": ["*"],
},
)
Và một gói foo
mà trông như thế này:
foo/__init__.py
foo/bar.txt
Khi tôi chạy setup.py bdist
, tệp bar.txt
được (chính xác) được bao gồm trong phân phối… Nhưng khi tôi sử dụng setup.py sdist
thì không.
Có chuyện gì với điều đó? Tôi có hiểu nhầm ý nghĩa của package_data
không? Hoặc đây có phải là một điều không minh bạch của setuptools
?
Ah… Vậy, trong trường hợp nào tôi sẽ sử dụng 'package_data' sau đó? –
Tệp kê khai xác định những gì được bao gồm trong phân phối nguồn, nhưng package_data là tệp được sử dụng để xác định bất kỳ tệp dữ liệu nào bạn muốn cài đặt cùng với tệp Python nguồn ở vị trí gói (gói trang web). Các tệp đó trong MANIFEST.in có thể không tài liệu hoặc các tệp khác mà bạn không muốn được cài đặt ở đó, nhưng muốn trong bản phân phối nguồn. – Keith