我是一个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将模块安装到标准库文件夹中,但在搜索已安装的模块时没有链接回该目录。
有人可以解释发生了什么吗?
由于
答案 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。