Вопрос по python – Добавление модуля (в частности, pymorph) в Spyder (Python IDE)

38

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

Я установил оба через easy_install в терминале, и оба, казалось, установили без каких-либо сообщений об ошибках. Запуск питона из терминала и использование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?

Specs:

Mac OSX 10.7.4

Spyder 2.1.9

Ваш Ответ

8   ответов
71

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

Спасибо - работал для меня. Но вам также не нужно перезапускать Spyder, просто закройте интерпретатор, затем щелкните правой кнопкой мыши и «откройте интерпретатор», чтобы перезапустить интерпретатор Python. Новый путь используется. Sanjay Manohar
Как только вы реализуете это решение, кажется, что все, что вызывает файл ibpy EReader, может потерпеть неудачу в строке 29 сSyntaxError: cannot assign to None. Если вы получаете это, удалите или закомментируйтеNone. Ссылк zelusp
Под меню Spyder / PYTONPATH Manager Ozgur Ozturk
После добавления путей через менеджер pythonpath spyder в моем случае был необходим перезапуск anaconda. Quetzalcoatl
Это не работает для меня в Windows. Мне пришлось вручную добавить папку пакета вPATH переменная, а неPYTHONPATH переменная Courvoisier
38

С помощью! на консоли IPython в Spyder позволяет использоватьpip. Итак, в примере вы можете сделать:

[1] !pip install pymorph

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

Кажется, вы используете старую версию Spyder. Эта функциональность была удалена несколько версий назад (я думаю, в 2.3.3). Однако что-то подобное все еще работает с консолью IPython. Carlos Cordoba
@ CarlosCordoba Ах, хорошо. Я использую версию 2.2.5. Жаль, что он был удален - остается отличной IDE, хотя: -) atomh33ls
Мы должны были удалить его из нашего Python консоли, потому что она не работала надежно во всех ситуациях (например, она вызывала проблемы при отладке). Но, как я уже сказал, вы можете запустить точно такую же команду в нашем IPython утешит, и все будет отлично работать: -) Carlos Cordoba
Когда я это делаю, я получаю/bin/sh: pip: command not found. На версии 2.3.8 man on laptop
@ jkabrg у тебя естьpip установлен? atomh33ls
17

Определить местоположение модуля в Терминале:

$ python # open python

import pygame # import a module 

pygame # get the location

Скопируйте и вставьте папку модуля в папку «Spyder.app/Contents/Resources/lib/python2.7

Relaunch Spyder.app

8

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

!conda install packageName

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

!conda install /path/to/package.tar

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

3

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

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

/ USR / местные / Библиотека / pythonX.Y / сайт-пакеты

На Windows:

C: \ PythonXY \ Lib \ сайт-пакеты

Видеть Документация по установке модулей.

3

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

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

Я прошу прощения за комментирование старого ответа, но у меня сегодня была именно эта проблема со Spyder и seaborn, и ни на одном веб-сайте не было ни одного ответа, который помог бы, кроме вашего. Так что спасибо тебе la femme cosmique
Как дополнение к моему предыдущему комментарию (я надеюсь, что вы это видите!), Как вы справились с проблемой, когда интерпретатор spyder теперь берет seaborn'sв это .py какв это .py того, что я пытаюсь использовать? В этом случае это сломало mpfit и несколько других вещей. Вы когда-нибудь находили другое решение? la femme cosmique
Я рада, что это сработало ... до некоторой степени. Я не помню, чтобы сталкивался с проблемами init.py, поэтому я не уверен, что рекомендовать. Недавно я установил новую ОС и недавно установленный Python 2.7, Anaconda и Spyder. Теперь Seaborn чудесным образом работает после установки новой командной строки conda - больше не требуется обходной путь, который я представил выше. Guy
3

!' перед командой pip в терминале spyder и все будет хорошо

Например

!pip install imutils
0

Инструменты -> Открыть командную строку -> написать команду "pip install html5lib"

Похожие вопросы