Python statsmodels安装在pandas上提供导入错误

时间:2013-03-24 17:41:58

标签: python ubuntu

我正在尝试使用easy_install安装statsmodels(http://statsmodels.sourceforge.net)(如此处所建议:http://statsmodels.sourceforge.net/install.html)。我正在使用Ubuntu 12.04 LTS。

问题是我在pandas上遇到了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

但是,我已经安装了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和python的位置:

x@ubuntu:~$ which easy_install
/usr/bin/easy_install
x@ubuntu:~$ which pip
/usr/bin/pip
x@ubuntu:~$ which python
/usr/bin/python

1 个答案:

答案 0 :(得分:2)

Pandas安装在/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解释器。

我认为问题源于第一个python解释器已安装pandas的事实,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。祝你好运!