12

这是一个初学者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

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

4

2 回答 2

15

啊。你的路径中有两条相同版本的蟒蛇?不要那样做。

pip、easy-install 等与特定的 python 安装相关联,默认情况下将使用该 python。因此,如果您有系统提供的 python 和系统提供的 easy_install(或使用系统 python 自己安装了 easy_install),那么默认情况下,easy_install 将为系统 python 安装包。

恕我直言,避免这种混乱的最好方法是对该版本使用系统python(可能是2.7),对于其他版本,make alt-install在安装时使用,这将为您提供诸如此类的可执行文件python3.1。如果确实需要更换系统提供的版本,请卸载。

一旦你这样做了。每个 python 都将有一个不同的名称(以版本结尾)python并将保持系统名称。

接下来,当您安装 easy_install 时,您会注意到存在特定于版本的版本(easy_install-2.7例如)。使用那些。如果缺少一个,则使用适当的 python 安装 distutils (例如使用python3.1,你会得到一个easy_install-3.1)。不幸的是,每次你这样做(iirc)你都会覆盖 un-versioned easy_install,所以永远不要使用它 - 总是使用版本化的。

或者,除了系统版本之外,您不能安装 easy_install 或 pip ,然后始终使用 virtualenv。virtualenv 会让你指定一个 python 版本(所以你可以为所有安装的 python 使用系统 virtualenv),然后为你使用的 python 安装 easy_install/pip。因此,一旦您进入虚拟环境,一切都会正常进行。

我刚刚意识到我对 pip 没有太多经验,所以我实际上对此无能为力(除了要注意 virtualenv 确实提供了它)(关于哪个更可取:它曾经是 pip 得到更好的维护;我认为这些天来,最新的 distutils/easy_install 和 pip 一样好,但是 pip 还有一些我从未使用过的功能)。

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

于 2012-04-30T02:30:34.447 回答
0

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

$ sudo apt-get install python-pandas
$ sudo apt-get install python-numpy
于 2015-09-26T14:51:02.667 回答