Я привык к функциональности R установки пакетов, и я пытаюсь сделать то же самое с ipython
. Иногда следующий метод работает, но с другой стороны иногда это не так, и я хотел бы наконец выяснить, почему он работает только половину времени.
Обычно, чтобы установить модуль (например, модуль requests
), я бы набрал следующее после открытия нового терминала:
$ sudo pip install requests
Password: *******
После этого должно появиться сообщение о том, что установка прошла успешно или что она уже установлена.
Requirement already satisfied (use --upgrade to upgrade):
requests in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Cleaning up...
Что говорит о том, что к коду можно получить доступ. И действительно, если я сейчас запускаю python из терминала, он показывает хороший ответ без каких-либо ошибок.
$ python
ActivePython 2.7.2.5 (ActiveState Software Inc.) based on
Python 2.7.2 (default, Jun 24 2011, 12:20:15)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>>
Теперь я открываю PyLab
через Альфреда, и он выдает мне ошибку.
Welcome to pylab, a matplotlib-based Python environment [backend: WXAgg].
For more information, type 'help(pylab)'.
In [1]: import requests
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/Users/vincentwarmerdam/<ipython-input-1-686486c241c8> in <module>()
----> 1 import requests
ImportError: No module named requests
Я прочитал некоторую справку из другого вопроса о StackOverflow (здесь), который предлагает установить модуль из оболочки ipython
. Это дает еще более странный ответ:
In [2]: !pip install requests
Requirement already satisfied (use --upgrade to upgrade): requests in
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Cleaning up...
In [3]: import requests
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/Users/vincentwarmerdam/<ipython-input-3-686486c241c8> in <module>()
----> 1 import requests
ImportError: No module named requests
Это кажется мне очень странным. В системе установлено несколько версий python? Как я мог это проверить? Нужно ли указывать ipython
на местоположение установленного кода?