2013-04-05 35 views
9

Tôi đang sử dụng setup.py để tạo gói python, mà tôi muốn cài đặt qua pip. Để cài đặt một cách chính xác các tập tin dướiTôi cần tùy chọn nào trong setup.py để tạo gói trong thư mục bên phải?

lib/python2.7/site-packages/<package-name> 

tôi đã sử dụng các tùy chọn sau đây trong setup.py:

'package_dir': {'':'lib'} 

như described here nhưng nhận được một lỗi

error: package directory 'lib' does not exist 

Vâng, không có thư mục như tôi muốn thư mục hiện tại được cài đặt làm gói lib hoặc bất kỳ thứ gì. Tôi cũng cố gắng sử dụng

'package_dir': {'mycode':''} 

mà installes mã trực tiếp trong

lib/python2.7/site-packages/ 

và không thuộc

lib/python2.7/site-packages/<package-name> 

Tôi đang làm gì sai, và nơi được tài liệu này? Tôi có thể bỏ qua tài liệu về tính năng cơ bản này vì tài liệu cho setup.py là 'tối ưu hóa'.

Trả lời

10

Mô tả cách thực hiện điều này trong distribute documentation ... Trong thư mục chứa tất cả dự án (TowelStuff/ trong ví dụ đã cho), bạn chỉ định tên của mô-đun thực tế (towelstuff/). Để đưa điều này như mô-đun của bạn, bạn cần phải thêm dòng sau trong setup.py:

'packages': ['towelstuff'] 

Sau khi tạo ra sdist (từ bên trong TowelStuff/), việc cài đặt các gói này sẽ cài đặt nó dưới site-packages/towelstuff, có thể được nhập khẩu như thường lệ (from towelstuff import ...).