安装的Python模块 - Python无法找到它们

时间:2012-04-29 22:41:29

标签: python numpy pandas

这是一个初学者python安装问题。这是我第一次尝试安装和调用包。我安装了pip,我尝试安装两个模块 - numpypandas

在终端中,我运行了以下命令:

sudo pip install numpy

sudo pip install pandas

两个命令都返回成功消息。这是pandas成功消息(它是我安装的第二个包,仍然在我的终端历史记录中):

Successfully installed pandas
Cleaning up...
安装pip后,

numpy返回了类似的消息。

现在,当我启动python并尝试使用:

进行调用时
import pandas

我收到此错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pandas

当我尝试numpy时也一样。

谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:15)

哎呀。你的路径中有两个相同版本的蟒蛇?不要这样做。

pip,easy-install等与特定的python安装相关联,默认情况下将使用该python。所以,如果你有一个系统提供的python和一个系统提供的easy_install(或者你自己使用系统python安装easy_install),那么easy_install默认会安装系统python的包。

避免这种混乱的最好办法是imho,是使用系统python用于该版本(可能是2.7),对于其他版本,在安装时使用make alt-install,这将为您提供{{1}等可执行文件等等。如果您确实需要更换系统提供的版本,请将其卸载。

一旦你做完了。每个python都有一个不同的名称(以版本结尾),python3.1将保留系统名称。

接下来,当您安装easy_install时,您会注意到版本特定的版本(例如python)。用那些。如果缺少一个,那么使用适当的python安装distutils(例如使用easy_install-2.7,你将获得python3.1)。遗憾的是,每次执行此操作(iirc)时,您都会覆盖未版本化的easy_install-3.1,因此从不使用该版本 - 始终使用版本化版本。

或者,您无法为系统版本以外的任何内容安装easy_install或pip,然后始终使用virtualenv 。 virtualenv将允许你指定一个python版本(所以你可以使用系统virtualenv安装所有的pythons),然后为你使用的python安装easy_install / pip。所以,一旦你进入虚拟环境,一切正常。

而我刚刚意识到我对pip没有多少经验,所以我实际上无法帮助(除了要注意virtualenv确实提供了它)(关于哪个更好:以前它更好地保持了pip ;我想现在最新的distutils / easy_install和pip一样好,但是pip还有一些我从未使用过的功能。)

免责声明:上述内容来自于开发lepl的经验,它运行在2.6到3.2之间,因此我需要对所有这些进行测试。据我所知,我上面描述的内容对我有用,但我对python / easy_install / pip没有深入的了解,所以我可能在合理化/描述事情时会有一些错误(换句话说,我正在写这些以防万一)它有帮助,但我有点担心我有一个错误 - 如果是的话,有人纠正我。)

答案 1 :(得分:0)

有了这个,我解决了问题(可能对你有帮助):

$ sudo apt-get install python-pandas
$ sudo apt-get install python-numpy