Несоответствие в модулях, установленных с Python - PullRequest
2 голосов
/ 02 марта 2012

Я немного новичок в Python и борюсь с тем, что кажется простой задачей.

Я установил Python, используя Homebrew на моем Mac.Когда я запускаю which python, он возвращает /usr/local/bin/python, а когда я запускаю ls -al /usr/local/bin/python, я вижу, что python имеет символическую ссылку следующим образом /usr/local/bin/python -> ../Cellar/python/2.7.1/bin/python, указывая, что установлена ​​версия Python для Homebrew.

Теперь, когда я устанавливаюмодуль 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 ]

2 голосов
/ 02 марта 2012

easy_install - это скрипт, который вызывает определенную версию 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 и назовите его.

0 голосов
/ 17 марта 2012

Вы также можете вызвать конкретную версию easy_install, которую вы хотите использовать.Например, если вы хотите использовать версию easy_install для python 3, которую вы получили через homebrew, она находится в /usr/local/share/python3.

...