2012-06-26 28 views
8

Tôi hiện đang mã hóa setup.py bằng cách sử dụng setuptools. Và tôi muốn sao chép dữ liệu tĩnh (không phải là một mô-đun Python) vào các gói trang web.Bao gồm dữ liệu tĩnh trong setup.py (setuptools)

Vấn đề là, hệ thống phân cấp thư mục hiện hành được cấu trúc như sau:

setup.py 
src 
    Pure Python Module 
skeleton 
    example 
     __init__.py 
    resources 
     static 
      error.css 
      example.css 
      logo_shadow.png 
     template 
      error.html 
      example.html 
    server.tmplt 

Tôi muốn sao chép vào thư mục bộ xương để trang web gói KHI duy trì cấu trúc thư mục/hệ thống phân cấp, nhưng làm thế nào nên tôi làm cái này?

Trả lời

2

Tôi đã giải quyết vấn đề bằng cách xử lý các tệp tĩnh riêng biệt, không sử dụng các công cụ thiết lập.

from sys import argv 
try: 
    if argv[1] == 'install': 
     from os.path import join 
     from distutils.sysconfig import get_python_lib 
     from shutil import copytree 
     OrigSkeleton = join('src', 'skeleton') 
     DestSkeleton = join(get_python_lib(), 'cumulus', 'skeleton') 
     copytree(OrigSkeleton, DestSkeleton) 

except IndexError: pass 
+0

Tốt hơn nên sử dụng 'distutils.dir_util.copy_tree', vì nó ghi đè lên nếu nó đã có ở đó. Xem http://stackoverflow.com/a/12686557/161801. – asmeurer

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