Tôi khá mới đối với các công cụ thiết lập. Tôi đã nhìn thấy một vài câu hỏi tương tự và nó lái xe một chút điên rồ mà tôi dường như làm theo lời khuyên tôi thấy nhưng setuptools vẫn làm một cái gì đó khác với những gì tôi muốn.các vấn đề về thiết lập - ngoại trừ các gói, bao gồm các tệp dữ liệu
Dưới đây là cấu trúc của dự án của tôi:
.
..
package1/
__init__.py
abc.py
...
tests/
__init__.py
test_package1.py
LICENSE
README.md
RELEASE
setup.py
Và đây là nội dung của setup.py của tôi:
#!/usr/bin/env python
import os
#from distutils.core import setup
from setuptools import setup, find_packages
setup(
name='package1',
version='1.1',
test_suite="tests",
packages=find_packages(exclude=['tests']),
include_package_data=True,
package_data = {
'': ['LICENSE', 'README.md5', 'RELEASE']
},
)
Ngoài ra, trong file manifest của tôi, tôi có:
include LICENSE
include RELEASE
include README.md
Tôi tạo tar với:
python setup.py sdist
Tôi muốn:
- Loại trừ
tests
thư mục từ sự phân bố nguồn; - Có LICENSE, README.md, RELEASE tệp trong thư mục gói trang web, ở cấp cao nhất hoặc bên trong thư mục package1 (tại thời điểm này, tôi sẽ đồng ý).
Thay vào đó, đây là những gì sẽ xảy ra:
tests
thư mục vẫn là trong kho lưu trữ tar tạo ra và được cài đặt vào trang web gói;- Tệp được sao chép vào lưu trữ nhưng không được cài đặt vào thư mục được đóng gói trang web của gói.
Tôi hết ý tưởng, ai đó có thể giải thích cho tôi những gì tôi đang làm sai và cách khắc phục?
tại sao python không yêu chúng ta ... Đó là một nhiệm vụ rất đơn giản và phổ biến: _ignore nhiều file, và bao gồm một số tệp phổ biến đến gói_. Tại sao nó khó khăn như vậy để làm gì? – maxkoryukov