我正在尝试使用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
答案 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
。祝你好运!