2013-03-24 119 views
0

我試圖使用easy_install安裝statsmodels(http://statsmodels.sourceforge.net)(這裏推薦:http://statsmodels.sourceforge.net/install.html)。我正在使用Ubuntu 12.04 LTS。python statsmodels安裝在熊貓上給出了導入錯誤

問題是,我得到的大熊貓一個ImportError:

File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1094, in run_setup 
    run_setup(setup_script, args) 
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 30, in run_setup 
    lambda: execfile(
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 72, in run 
    return func() 
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 32, in <lambda> 
    {'__file__':setup_script, '__name__':'__main__'} 
File "setup.py", line 201, in <module> 
File "setup.py", line 53, in check_dependency_versions 
ImportError: statsmodels requires pandas 

不過,我已經安裝了(儘管是從源代碼構建,而不是通過使用easy_install)熊貓:

>>> import pandas 
>>> pandas.__version__ 
    '0.10.1' 
>>> pandas.__path__ 
    ['/usr/local/lib/python2.7/dist-packages/pandas-0.10.1-py2.7-linux-i686.egg/pandas'] 

我懷疑easy_install查看錯誤的目錄,但我不知道如何去改變設置。我對麼?如果不是,那可能是什麼問題?

非常感謝您的幫助提前!

編輯 - 這裏有分別的easy_install,PIP和蟒蛇的位置:

[email protected]:~$ which easy_install 
/usr/bin/easy_install 
[email protected]:~$ which pip 
/usr/bin/pip 
[email protected]:~$ which python 
/usr/bin/python 
+1

你可以發佈'哪個python'和'哪個pip'的輸出嗎?這個的來源通常是pip/easy_install與一個python解釋器相關聯,並且您正在使用另一個解釋器。 – mbatchkarov 2013-03-24 17:44:05

+1

另外,'easy_install'在死囚牢房。改用pip。 – mbatchkarov 2013-03-24 17:50:38

+0

@mbatchkarov有趣的。我已經對這些信息進行了編輯,但在我看來他們已經正確安裝了? – Mike 2013-03-24 17:59:36

回答

2

熊貓裝在/usr/local/lib/python2.7/dist-packages(見你的第二個貼塊),其中最有可能意味着在/usr/local/lib/python2.7/ Python解釋器。但是,您的easy_install位於/usr/lib/python2.7/dist-packages(您的第一個粘貼塊中的第一行),這意味着"/usr/lib/python2.7中有另一個Python解釋器。

我相信從pandas已經安裝了第一個Python解釋器,easy_install指的是第二個,並試圖安裝statsmodels第二解釋事實的問題造成的。

我要求查看which python的輸出的原因是檢查他的多個python安裝中的哪一個是您的默認安裝。根據你編輯的文章,我認爲/usr/bin/python是一個符號連接/usr/local/python或類似的東西。您可以通過運行ls -l /usr/bin | grep python來驗證。

解決方案是選擇一個解釋器並使用它並且僅使用它。由於已經設置了默認值(即打開終端並鍵入python時被調用),所以我建議您使用它。然後install pip - 請參見「使用get-pip」部分。然後用pip安裝statsmodels:sudo pip install statsmodels。祝你好運!

+1

謝謝!這很好解釋!實際上,在使用pip安裝statsmodels(和patsy,因爲它變成另一個依賴)之前,我已經解決了這個問題。然而,你的解釋幫助我理解問題的根源!非常感謝您的幫助!非常感激! – Mike 2013-03-24 22:46:24