2013-04-05 36 views
7

Tôi muốn tạo gói python mycode, được cài đặt bằng cách sử dụng pip (setup.py), có phụ thuộc vào gói khác base. Để incoporate phụ thuộc gói này tôi làm theo các setup.py instructions và tạo một mục trong setup chức năng của setup.py mà đọc:Làm thế nào để xác định phụ thuộc đóng gói python rõ ràng trong setup.py?

'requires': ['base'] 

Sau khi tôi đã tạo ra các gói với python setup.py sdist, tôi đã cố gắng để cài đặt nó thông qua pip install, mà cài đặt thành công mycode , nhưng không có gì từ base. Có vẻ như mục nhập requires trong số setup.py đã bị bỏ qua.

Bất kỳ ý tưởng nào đang xảy ra sự cố?

Trả lời

10

Bạn cần chỉ định install_requires thay vào đó, xem New and changed setup keywords.

Trường requires là quá mơ hồ và không chính xác, vì vậy setuptools dân gian (vì vậy easy_install, từ đó phát triển pip) bổ sung các lĩnh vực cụ thể hơn. Ngoài ra, có các trường setup_requirestest_requires cho các phụ thuộc bắt buộc cho setup.py và để chạy thử nghiệm.

+0

Cảm ơn dường như hoạt động! Nhưng điều này có nghĩa là tài liệu tôi đã liên kết không thể sử dụng được? Đây có phải là một phần của tài liệu 'chính thức' không? – Alex

+0

'pip' theo vũ trụ bao bì' setuptools'. Tách 'distribution' của' setuptools' có [tài liệu tốt] (http://pythonhosted.org/distribute/), và sau đó là [Hitchhikers Guide to Packaging] (https: // the-hitchhikers-guide-to -packaging.readthedocs.org/en/latest/). –

+0

Nhưng, vâng, tài liệu 'distutils' là đúng cho' distutils', nhưng 'distutils' bị bỏ lại bởi' setuptools'. Có/là một 'distutils2' trong các công trình để khắc phục điều đó nhưng nỗ lực đó hiện đang bị đình trệ, tôi nghĩ vậy. –

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