与Python一起安装的模块不匹配

时间:2012-03-02 11:42:24

标签: python homebrew

我是一个Python新手,我正在努力解决看似简单的任务。

我在Mac上使用Homebrew安装了Python。当我运行which python时,它返回/usr/local/bin/python,当我运行ls -al /usr/local/bin/python时,我可以看到python符号链接如下/usr/local/bin/python -> ../Cellar/python/2.7.1/bin/python,表明安装了Homebrew的Python版本。

现在当我安装boto模块时,我这样做了: easy_install boto它向我展示了该模块已安装到/Library/Python/2.7/site-packages/boto-2.2.2-py2.7.egg

奇怪的是,当我执行以下操作时,我被告知boto模块不存在。

$ python
Python 2.7.1 (r271:86832, Aug 31 2011, 23:21:36)
>>> import boto
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named boto

为什么该模块不可用?这几乎就像Homebrew将模块安装到标准库文件夹中,但在搜索已安装的模块时没有链接回该目录。

有人可以解释发生了什么吗?

由于

2 个答案:

答案 0 :(得分:2)

easy_install是一个调用某个版本的python的脚本。在您的情况下,它必须指向错误的python。

% which easy_install
/usr/bin/easy_install

请注意,在我的示例中,easy_install正在调用/usr/bin/python

% head -n1 /usr/bin/easy_install
#! /usr/bin/python

将第一行更改为指向/usr/local/bin/python

或者,您Homebrew的安装可能会自带easy_install。在这种情况下,只需找到Homebrew的easy_install并调用那个。

答案 1 :(得分:0)

您还可以调用要使用的特定版本的easy_install。例如,如果你想使用你通过自制软件获得的easy_install的python 3版本,它位于/ usr / local / share / python3。