Tôi đang cố gắng xây dựng bản phân phối Python với distutils
. Thật không may, cấu trúc thư mục của tôi trông như thế này:Làm cách nào để tôi có thể sử dụng setup.py để sử dụng đường dẫn tương đối đến tệp của mình?
/code /mypackage __init__.py file1.py file2.py /subpackage __init__.py /build setup.py
Dưới đây là setup.py
tập tin của tôi:
from distutils.core import setup
setup(
name = 'MyPackage',
description = 'This is my package',
packages = ['mypackage', 'mypackage.subpackage'],
package_dir = { 'mypackage' : '../mypackage' },
version = '1',
url = 'http://www.mypackage.org/',
author = 'Me',
author_email = '[email protected]',
)
Khi tôi chạy python setup.py sdist
nó một cách chính xác tạo ra file manifest, nhưng không bao gồm các file nguồn của tôi trong việc phân phối . Rõ ràng, nó tạo một thư mục chứa các tệp nguồn (ví dụ: mypackage1
) rồi sao chép từng tệp nguồn vào mypackage1/../mypackage
đặt chúng bên ngoài của phân phối.
Tôi làm cách nào để sửa lỗi này, mà không cần cấu trúc thư mục của tôi tuân theo những gì distutils
mong đợi?
Tôi không quan tâm nhiều đến cấu trúc trong tệp phân phối, miễn là nó hoạt động đúng khi người dùng thử và cài đặt nó bằng easy_install. Nhưng các tài liệu Python là hoàn toàn khủng khiếp khi nói đến những chi tiết này - Tôi không có ý tưởng những gì các cấu trúc thậm chí còn phải trông giống như. Và tôi vẫn gói đầu của tôi xung quanh ý tưởng rằng bạn chạy một kịch bản trong phân phối trước khi nó được cài đặt để cài đặt phân phối. –