2011-07-28 41 views
8

Tôi đang cố gắng liệt kê ScientificPython làm phụ thuộc trong số setup.py của mình. Tuy nhiên, trong quá trình cài đặt, python dường như không tìm thấy gói. Có gì sai trong cách tiếp cận của tôi?Cài đặt ScientificPython dưới dạng phụ thuộc

Đây là thiết lập của tôi:

import setuptools 
setuptools.setup(name = 'MyPack', version = '0.1', 
    description= 'Description.', 
    author = 'Me', 
    packages = setuptools.find_packages(), 
    install_requires = ['ScientificPython'], 
    dependency_links = ["https://sourcesup.cru.fr/frs/?group_id=180&release_id=1351#stable-releases-2-8-title-content"]) 

Và đây là phần quan trọng của đầu ra khi tôi chạy python setup.py install:

Processing dependencies for MyPack==0.1 
Searching for ScientificPython 
Reading https://sourcesup.cru.fr/frs/?group_id=180&release_id=1351#stable-releases-2-8-title-content 
Download error: unknown url type: https -- Some packages may not be found! 
Reading http://pypi.python.org/simple/ScientificPython/ 
Reading http://dirac.cnrs-orleans.fr/ScientificPython/ 
Reading http://starship.python.net/~hinsen/ScientificPython/ 
No local packages or download links found for ScientificPython 
Best match: None 
Traceback (most recent call last): 
    File "setup.py", line 22, in <module> 
    dependency_links = ["https://sourcesup.cru.fr/frs/?group_id=180&release_id=1351#stable-releases-2-8-title-content"]) 
    File "/home/woltan/local/lib/python2.7/distutils/core.py", line 152, in setup 
    dist.run_commands() 
    File "/home/woltan/local/lib/python2.7/distutils/dist.py", line 953, in run_commands 
    self.run_command(cmd) 
    File "/home/woltan/local/lib/python2.7/distutils/dist.py", line 972, in run_command 
    cmd_obj.run() 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/install.py", line 76, in run 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/install.py", line 104, in do_egg_install 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 211, in run 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 427, in easy_install 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 478, in install_item 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 519, in process_distribution 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 563, in resolve 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 799, in best_match 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 811, in obtain 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 434, in easy_install 
    File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/package_index.py", line 475, in fetch_distribution 
AttributeError: 'NoneType' object has no attribute 'clone' 

Có lẽ một vấn đề là, rằng ScientificPython là bằng cách nào đó không thể truy cập mặc dù PyPI hoặc ít nhất không thể tải xuống dưới dạng easy_install ScentificPython sẽ không thành công với No local packages or download links found for ScentificPython.

Tôi cần làm gì để cài đặt ScientificPython bằng các công cụ thiết lập?

+0

Ngoài sự tò mò, tại sao không phải là 'scipy'? – katrielalex

+0

@katrielalex Đối với một số lý do, các nhà phát triển cũ của tôi đã đi cho ScientificPython. Vì vậy, nó sẽ là rất nhiều công việc để viết lại các mô-đun để sử dụng scipy thay thế. Plus, tôi không chắc chắn làm thế nào cứng/dễ dàng nó là để cài đặt scipy đặc biệt là đối với các ràng buộc lapack ... – Woltan

Trả lời

2

Vấn đề đặc biệt là cố gắng tạo kết nối http đến trang web https. Từ những gì tôi có thể nói cho setuptools không hỗ trợ các kết nối tới https. Bạn sẽ phải sử dụng một phương pháp khác để nhận các gói đó.

Đề xuất của tôi, nếu bạn muốn sử dụng trình thiết lập, bạn có chi tiết trong README cho tệp mà họ phải tải xuống phụ thuộc đó và cài đặt và sau đó có phụ thuộc vào các thiết lập không cài đặt nếu chúng không không có nó.

+0

Thats giả định rằng họ không có URL mà không có HTTPS.Họ có một điểm đến HTTP không được mã hóa với các tập tin sẽ là giải pháp đơn giản nhất cho vấn đề mà sẽ cho phép bạn thực sự cài đặt theo cách bạn muốn. – Drahkar

3

Bạn đã thử đặt liên kết tải xuống trực tiếp (https://sourcesup.cru.fr/frs/download.php/2309/ScientificPython-2.8.tar.gz) vào dependency_links thay vì trang html vì tập lệnh của bạn dường như không tìm thấy gói và sau đó thử cài đặt None.

chỉnh sửa: chỉ cần chú ý: python rõ ràng là không thể mở nguồn https - thử tải lên nó ở đâu đó mà không https, sử dụng bình thường http

chỉnh sửa 2: Tại sao bạn không chỉ cần đặt thư mục toàn bộ ScientificPython vào phân phối của bạn và đảm bảo setup.py (hoặc bất kỳ thứ gì khác bạn cần gọi) được gọi bởi setup.py?

+0

Bạn có biết tại sao ScientificPython không thể được cài đặt thông qua PyPI? Và bạn có thể sao lưu vấn đề https không? – Woltan

+0

ScientificPython trên PyPI chỉ cung cấp liên kết đến trang web của nó nơi liên kết tải xuống chỉ đề cập đến trang tải xuống mà bạn đã đưa vào 'dependency_links'. Tôi không nghĩ rằng python sẽ thử hai lần để tải xuống từ cùng một trang. – hlt

1

tôi đã nhận được lỗi tương tự khi cài đặt MyProxyClient sử dụng easy_install:

"Download error: unknown url type: https -- Some packages may not be found!"

và các lỗi khác về việc không tìm tiêu đề openssl.

Vì vậy, việc cài đặt libssl-dev (trên Ubuntu) đã giải quyết được vấn đề cho tôi!

1

Python không thể xử lý giao thức https, cài đặt gói openssl-devel và cài đặt lại python để sửa lỗi này.

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