2016-02-19 17 views
7

Tôi đã viết một mô-đun python phụ thuộc vào openpyxl. Tôi muốn openpxyl được cài đặt như một phụ thuộc tự động bằng cách sử dụng setuptools. tôi đọc rằng cách thích hợp để làm điều này là bao gồm trong kịch bản setup.py:python không cài đặt các phụ thuộc được liệt kê trong install_requires của setuptools

setup(name='methpipe', 
    version=find_version("lala", "__init__.py"), 
    description='Utilities', 
    author='Jonathan T', 
    author_email='[email protected]', 
    url='https://git.com...', 
    packages=find_packages(), 
    install_requires=[ 
     'openpxyl = 2.3.3', 
    ], 
    scripts=["bin/submit_run_full.py"], 
    cmdclass=dict(install=my_install) 
) 

Vì vậy, tôi đóng gói lên phân hệ của tôi với python setup.py sdist, lấy * .tar.gz file, giải nén nó, và sau đó chạy python setup.py install và openpyxl KHÔNG được cài đặt !!!

Tôi đang làm gì sai ở đây?

+0

không có bất kỳ lỗi trong cài đặt đăng nhập? – JulienD

+0

Tôi nghĩ bạn muốn làm 'openpyxl == 2.3.3' –

Trả lời

1

Hãy thử cung cấp sự phụ thuộc của bạn cả trong số install_requiressetup_requires.

Tiếp theo là từ tài liệu setuptool 's tại https://pythonhosted.org/setuptools/setuptools.html

setup_requires

Một chuỗi hoặc danh sách các chuỗi xác định những gì các bản phân phối khác cần phải có mặt để cho các kịch bản cài đặt để chạy. các công cụ thiết lập sẽ cố gắng lấy những thứ này (thậm chí đi xa đến mức tải chúng xuống bằng EasyInstall) trước khi xử lý phần còn lại của các tập lệnh hoặc lệnh thiết lập . Lập luận này là cần thiết nếu bạn đang sử dụng thay đổi các phần mở rộng như một phần của quá trình xây dựng của bạn; ví dụ: các tiện ích mở rộng xử lý các đối số setup() và biến chúng thành các tệp siêu dữ liệu EGG-INFO .

(Lưu ý: các dự án được liệt kê trong setup_requires sẽ KHÔNG được tự động cài đặt trên hệ thống mà các kịch bản cài đặt đang được chạy Họ là chỉ đơn giản là tải về vào thư mục ./.eggs nếu họ không ở địa phương sẵn rồi.. Nếu bạn muốn họ được cài đặt, cũng như là sẵn khi kịch bản thiết lập được điều hành, bạn nên thêm chúng vào install_requires và setup_requires.)

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