2011-07-28 167 views
8

我想列出ScientificPython作爲我的setup.py中的依賴項。但是,在安裝過程中,python似乎找不到該軟件包。我的方法有什麼問題?安裝ScientificPython作爲依賴關係

這裏是我的設置:

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"]) 

這是輸出的重要組成部分,當我運行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' 

也許一個問題是,ScientificPython在某種程度上雖然PyPI無法訪問,或者至少不能下載,因爲easy_install ScentificPython將會以No local packages or download links found for ScentificPython失敗。

爲了用setuptools安裝ScientificPython,我需要做些什麼?

+0

出於好奇,爲什麼不'scipy'? – katrielalex

+0

@katrielalex由於某種原因,我以前的開發人員參加了ScientificPython。因此,重寫模塊以使用scipy將是很多工作。另外,我不確定安裝scipy有多麼困難/容易,尤其是關於lapack綁定... – Woltan

回答

2

問題在於它試圖建立到https站點的http連接。從我可以告訴setuptools不支持到https的連接。你將不得不使用另一種方法來獲取這些包。

如果你想使用setuptools,我的建議是你在文件的README文件中詳細說明他們必須下載該依賴並安裝它,然後在setuptools中有依賴項,如果他們不沒有。大約找不到OpenSSL的頭

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

和其他錯誤:

+0

這就是假設他們沒有沒有HTTPS的URL。他們有一個未加密的HTTP目標和文件將是最簡單的問題解決方案,可以讓你按照你想要的方式實際安裝。 – Drahkar

3

您是否嘗試將直接下載鏈接(https://sourcesup.cru.fr/frs/download.php/2309/ScientificPython-2.8.tar.gz)放入dependency_links而不是html頁面,因爲您的腳本似乎找不到該軟件包,然後嘗試安裝None

編輯:剛纔注意到:巨蟒顯然是無法打開HTTPS資源 - 嘗試地方上載沒有HTTPS,使用普通的HTTP

編輯2:你爲什麼不乾脆把整個ScientificPython文件夾到你的分佈文件夾,並確保setup.py(或其他你需要調用的)被setup.py調用?

+0

你知道爲什麼ScientificPython不能通過PyPI安裝嗎?你可以備份https問題嗎? – Woltan

+0

PyPI上的ScientificPython只提供一個到其網站的鏈接,其中下載鏈接僅指您已經放入'dependency_links'的下載頁面。我不認爲python會嘗試兩次從同一頁面下載。 – hlt

1

使用easy_install安裝時MyProxyClient我得到類似的錯誤。

所以安裝libssl-dev(在Ubuntu上)解決了我的問題!

1

Python無法處理https協議,請安裝openssl-devel軟件包並重新安裝python以解決此問題。