2013-03-24 97 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