2015-06-17 44 views
12

Tôi có một dự án Python 3.Tạo deb hoặc rpm bằng các công cụ thiết lập - data_files

MKC 
├── latex 
│ ├── macros.tex 
│ └── main.tex 
├── mkc 
│ ├── cache.py 
│ ├── __init__.py 
│ └── __main__.py 
├── README.md 
├── setup.py 
└── stdeb.cfg 

Mở cài đặt, tôi muốn di chuyển các file mủ của tôi vào thư mục nổi tiếng, nói /usr/share/mkc/latex, vì vậy tôi đã nói với setuptools để bao gồm các file dữ liệu

data_files=[("/usr/share/mkc/latex", 
      ["latex/macros.tex", "latex/main.tex"])], 

Bây giờ khi tôi chạy

./setup.py bdist --formats=rpm 

hoặc

./setup.py --command-packages=stdeb.command bdist_deb 

tôi nhận được lỗi sau:

 
error: can't copy 'latex/macros.tex': doesn't exist or not a regular file 

Chạy chỉ ./setup.py bdist hoạt động tốt, vì vậy vấn đề phải tạo gói.

+0

Bạn có kho lưu trữ trực tuyến này ở đâu đó không; có lẽ trên [Github] (https://github.com)? –

+0

https://github.com/pacholik/MKC – pacholik

Trả lời

11

Khi tạo tệp deb (tôi đoán cùng số lượng cho tệp rpm), trước tiên, ./setup.py --command-packages=stdeb.command bdist_deb sẽ tạo phân phối nguồn và sử dụng lưu trữ đó để xử lý tiếp. Nhưng các tệp LaTeX của bạn không được bao gồm ở đó, vì vậy chúng không được tìm thấy.

Bạn cần phải thêm chúng vào gói nguồn. Như vậy có thể đạt được bằng cách thêm một MANIFEST.in với nội dung:

recursive-include latex *.tex 

distutils từ phiên bản 3.1 trên sẽ tự động bao gồm data_files trong một phân phối nguồn, trong khi setuptools rõ ràng hoạt động rất khác nhau.

+0

Nó hoạt động và tôi nghĩ tôi biết tại sao. Tiền thưởng là của bạn! – pacholik

Các vấn đề liên quan