2012-05-23 7 views
30

Мне удалось установить spyder и работать на моем Mac, но я хочу добавить несколько модулей, которые он не включает по умолчанию (mahotas и pymorph) ,Добавление модуля (в частности, pymorph) в Spyder (Python IDE)

Я установил оба через easy_install в терминал, и оба, казалось, установили без сообщений об ошибках. Запуск python с терминала и использование import mahotas и import pymorph работает нормально, без сообщений об ошибках. Однако, когда я бег те же строки из сценария в Spyder я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 493, in runfile 
execfile(filename, namespace) 
File "/Users/Name/Documents/Python/dna.py", line 11, in <module> 
import pymorph 
ImportError: No module named pymorph 

Все, что я пытаюсь сделать прямо сейчас, выполняемая импортные линии, это весь. Кажется, я ничего не могу найти об этом. Я предполагаю, что spyder использует отдельную установку python и что установка модулей через терминал устанавливает их только в системную версию python. Как добавить их в spyder?

Характеристики:

Mac OSX 10.7.4

Spyder 2.1.9

ответ

63

Хорошо, никто не ответил на этот вопрос, но пока я сумел понять это и заставить его работать после того, как также размещение на досках для обсуждения spyder. Для любых библиотек, которые вы хотите добавить, которые не включены в путь поиска по умолчанию для spyder, вам нужно перейти в Инструменты и добавить путь к каждой библиотеке через менеджера PYTHONPATH. Затем вам нужно будет обновить список имен модулей из того же меню и перезапустить spyder до того, как изменения вступят в силу.

+8

Спасибо - работал для меня. Но также вам не нужно перезапускать Spyder, просто закройте интерпретатор, затем щелкните правой кнопкой мыши и «откройте интерпретатор», чтобы перезапустить интерпретатор python. Используется новый путь. –

+1

Как только вы реализуете это решение, кажется, что что-либо, вызывающее файл ibpy EReader, может выйти из строя в строке 29 с помощью 'SyntaxError: не может назначить None'. Если вы получите это, удалите или закомментируйте «Нет». [Ссылка] (https://code.google.com/p/ibpy/issues/detail?id=16) – zelusp

+0

В меню Spyder/PYTONPATH Manager –

16
  1. Найти местоположение модуля в терминале:

    $ python # open python 
    
    import pygame # import a module 
    
    pygame # get the location 
    
  2. Скопируйте и вставьте папку модуля в 'Spyder.app/Contents/Resources/lib/python2.7'

  3. Relaunch Spyder.app

2

Вы можете добавить стандартное расположение установки на PYTHONPATH человек Агер. Таким образом, вам не нужно добавлять определенный путь для каждого модуля. Только для обновления имен модулей.

В Unix это место обычно:

/usr/local/lib/pythonX.Y/site-packages

В Windows:

C:\PythonXY\Lib\site-packages

См the modules install Documentation.

2

я столкнулся с той же проблемой при попытке добавить модуль Сиборн в Spyder. Я установил seaborn в мой каталог anaconda в ubuntu 14.04. Модуль Seaaborn загрузится, если я добавлю весь каталог anaconda/lib/python2.7/site-packages /, который содержит папки «seaborn» и «seaborn-0.5.1-py2.7.egg-info». Проблема заключалась в том, что эта папка сайтов anaconda также содержала множество других модулей, которые Spyder не понравились.

Мое решение: Я создал новый каталог в своей личной папке Home, которую я назвал «spyderlibs», где я разместил папки с морскими и морскими судами-0.5.1-py2.7.egg-info. Добавил новый каталог spyderlib в диспетчере Spyder PYTHONPATH!

+0

Прошу прощения за комментарий по старому ответу, но сегодня у меня была эта точная проблема со Spyder и seaborn, и не было один ответ на любом веб-сайте, который помог, кроме вашего. Так что спасибо тебе. –

+0

Как дополнение к моему предыдущему комментарию (надеюсь, вы это видите!), Как вы столкнулись с проблемой, когда интерпретатор spyder теперь принимает __init__.py морского судна как __init__.py того, что я пытаюсь использовать? В этом случае он сломал mpfit и несколько других вещей. Вы когда-нибудь находили другое решение? –

+0

Я рад, что это сработало ... в некоторой степени. Я не помню, как запускал проблемы init.py, поэтому я не уверен, что рекомендовать. Недавно я установил новую ОС и недавно установил python 2.7, anaconda и spyder. Теперь морское чудо чудесным образом работает из новой командной строки командной строки - больше не требуется обходное решение, представленное выше. – Guy

24

Использование ! на консоли IPython в spyder позволяет использовать pip. Так, в примере, вы могли бы сделать:

[1] !pip install pymorph 

Заметим, что это также (хотя, возможно, ненадежно) на консоли Python для версии Spyder до ~ 2.3.3. Спасибо @CarlosCordoba за это разъяснение.

+0

Кажется, вы используете старую версию Spyder. Эта функциональность была удалена некоторыми версиями назад (я думаю, в 2.3.3). Однако что-то вроде этого все еще работает с консолью IPython. –

+0

@ Карлос Кордоба А, ок. Я использую версию 2.2.5. Жаль, что он был удален - остается отличная среда ID :-) – atomh33ls

+0

Нам пришлось удалить его с наших консолей * Python *, потому что он не работал надежно во всех ситуациях (например, он дал проблемы при отладке).Но, как я уже сказал, вы можете запустить ту же самую команду в наших консолях * IPython *, и она будет работать нормально :-) –

7

Если вы используете Spyder в пакете Anaconda ...

В IPython консоли, используйте

!conda install packageName 

Это работает локально тоже.

!conda install /path/to/package.tar 

Примечание:! требуется при использовании консоли IPython из Spyder.

0

Можно также выполнить следующие действия: '!' Spyder -> Сервис -> - открыть окно командной строки> написать команду "пункт установить html5lib"

0

просто использовать до пип команды в терминале Spyder, и это будет хорошо

Например:

!pip install imutils