web-dev-qa-db-fra.com

Ajouter un module (spécifiquement pymorph) à Spyder (Python IDE)

J'ai réussi à installer Spyder et à l'utiliser sur mon Mac, mais je souhaite ajouter quelques modules qu'il n'inclut pas par défaut (mahotas et pymorph). 

J'ai installé les deux via easy_install dans le terminal et les deux semblaient s'installer sans aucun message d'erreur. Exécuter python depuis un terminal et utiliser import mahotas et import pymorph fonctionne parfaitement sans message d'erreur. Cependant, lorsque j'exécute les mêmes lignes à partir d'un script dans Spyder, l'erreur suivante apparaît:

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

Tout ce que j'essaie de faire pour l'instant, c'est de lancer les lignes d'importation, c'est tout. Je n'arrive pas à trouver quoi que ce soit à ce sujet. Je suppose que spyder utilise une installation séparée de python et que l’installation de modules via le terminal ne les installe que dans la version système de python. Comment puis-je les ajouter à spyder?

Spécifications:

Mac OSX 10.7.4

Spyder 2.1.9

38
Daniel

Ok, personne n’a encore répondu à cette question, mais j’ai réussi à le comprendre et à le faire fonctionner après la publication sur les forums de discussion des espions. Pour toutes les bibliothèques que vous souhaitez ajouter qui ne figurent pas dans le chemin de recherche par défaut de spyder, vous devez accéder à Tools et ajouter un chemin à each library via le gestionnaire PYTHONPATH. Vous devrez ensuite mettre à jour la liste des noms de modules à partir du même menu et redémarrer Spyder avant que les modifications ne prennent effet.

71
Daniel

L'utilisation de ! sur la console IPython dans Spyder vous permet d'utiliser pip. Donc, dans l'exemple, vous pourriez faire:

[1] !pip install pymorph

Notez que ceci est également disponible (bien que peut-être de manière non fiable) sur la console Python pour les versions de Spyder antérieures à ~ 2.3.3. Merci à @CarlosCordoba pour cette clarification.

38
atomh33ls
  1. Trouver l'emplacement d'un module dans Terminal:

    $ python # open python
    
    import pygame # import a module 
    
    pygame # get the location
    
  2. Copiez-collez le dossier du module dans le dossier 'Spyder.app/Contents/Resources/lib/python2.7'

  3. Relancer Spyder.app

17
user1219669

Si vous utilisez Spyder dans le package Anaconda ...

Dans la console IPython, utilisez 

!conda install packageName

Cela fonctionne localement aussi.

!conda install /path/to/package.tar

Noter la ! est requis lors de l'utilisation de la console IPython à partir de Spyder.

8
IceXist

il suffit d'utiliser '!' avant la commande pip dans le terminal de Spyder et tout ira bien

Par exemple: 

!pip install imutils
3
Joish

Vous pouvez ajouter l'emplacement d'installation standard au gestionnaire PYTHONPATH. De cette façon, vous n'avez pas besoin d'ajouter un chemin spécifique pour chaque module. Seulement pour mettre à jour les noms de modules. 

Sous Unix, cet emplacement est généralement:

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

Sous Windows:

C:\PythonXY\Lib\site-packages

Voir la documentation d'installation des modules.

3
João Almeida

J'ai rencontré le même problème en essayant d'ajouter le module Seaborn dans Spyder. J'ai installé seaborn dans mon répertoire anaconda dans Ubuntu 14.04. Le module seaborn se chargerait si j'y ajoutais l'ensemble du répertoire anaconda/lib/python2.7/site-packages/qui contenait les dossiers 'seaborn' et seaborn-0.5.1-py2.7.Egg-info. Le problème était que ce dossier site-packages anaconda contenait également de nombreux autres modules que Spyder n’a pas aimés.

Ma solution: J'ai créé un nouveau répertoire dans mon dossier personnel que j'ai nommé 'spyderlibs', où j'ai placé les dossiers seaborn et seaborn-0.5.1-py2.7.Egg-info. L'ajout de mon nouveau répertoire spyderlib dans le gestionnaire PYTHONPATH de Spyder a fonctionné!

3
Guy

On peut également suivre les étapes ci-dessous: Spyder -> Outils -> Ouvrir l’invite de commande -> écrire la commande "pip install html5lib"

0
gauravm999