【问题标题】:Installed Python Modules - Python can't find them已安装的 Python 模块 - Python 找不到它们
【发布时间】:2012-05-09 17:41:48
【问题描述】:

这是一个初学者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 时也是如此。

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

【问题讨论】:

  • 不,不一定。但是如果你是,你需要确保 virtualenv 在你的导入工作之前被激活。但请忽略我的评论,因为它似乎不相关。
  • 请注意,有什么特殊原因不能只使用普通的包管理器来安装这些吗?
  • @Lattyware - 承认自己是初学者 - 我应该使用哪个包管理器?在线阅读,似乎pipeasy_install 更受欢迎。
  • 很大程度上取决于您使用的发行版。对我来说,这是 sudo pacman -s python-numpy 和抓 AUR 的熊猫。
  • 如果您安装了两个版本的 python 并正在安装一个,然后检查另一个(我自己去过那里;)

标签: python numpy pandas


【解决方案1】:

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

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

【讨论】:

  • 你确定 OP 运行的是什么操作系统?
【解决方案2】:

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

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

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

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

接下来,当您安装easy_install 时,您会注意到存在特定于版本的版本(例如easy_install-2.7)。使用那些。如果缺少一个,则使用适当的python 安装distutils(例如使用python3.1,您将获得easy_install-3.1)。不幸的是,每次执行此操作 (iirc) 时,您都会覆盖未版本化的 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 没有深入的了解,所以我可能在合理化/描述事物方面有一些错误(换句话说,我正在写所有这些以防万一它有帮助,但我有点担心我有错误 - 如果是这样,请有人纠正我)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-23
    • 2019-11-14
    • 1970-01-01
    • 2021-01-31
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多