ipython installer de nouveaux modules
Je suis utilisé pour le R de la fonctionnalité de l'installation de paquets et je suis en train de faire la même chose avec ipython. Parfois, la méthode suivante fonctionne mais parfois ça ne marche pas et je voudrais enfin savoir pourquoi il ne fonctionne que la moitié du temps.
Normalement pour installer un module (comme le requests
module par exemple) je me tapez le texte suivant après l'ouverture d'une nouvelle aérogare:
$ sudo pip install requests
Password: *******
Ce sera ensuite suivie par un message indiquant que l'installation a été réussie ou qu'il a déjà été installé.
Requirement already satisfied (use --upgrade to upgrade):
requests in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Cleaning up...
Qui suggère que le code peut être consulté. Et en effet, si je lance python maintenant à partir du terminal, il montre une bonne réponse, sans aucune erreur que ce soit.
$ 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
>>>
Je vais maintenant ouvrir PyLab par Alfred et il me donne une erreur.
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
J'ai lu aider par une autre question sur stackoverflow (ici http://bit.ly/1148FRL) qui suggère que j'ai installer le module de ipython shell. Cela donne encore plus de baffeling réponse:
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
Cela semble très étrange pour moi. Existe-il plusieurs versions de python installée sur le système? Comment pourrais-je le vérifier? Ai-je besoin de point de ipython à l'emplacement de l'installation de code?
Alfred est un raccourci d'application. J'ai essayé de courir ipython au lieu de pylab. Je reçois le texte suivant:
$ ipython
In [1]: import request
ImportError: No module named request
Semble que le même message d'erreur.essayez de
import sys ; print sys.path
dans iPython pour voir si le répertoire d'installation est inclus.une chose à vérifier est la valeur de
sys.executable
lorsque vous êtes dans la plaine de Python et IPython, ou alternativement la valeur de head -n 1 $(which ipython)
et head -n 1 $(which pip)
pour s'assurer qu'ils utilisent le même langage Python.$ head -n 1 $(which ipython)
donne #!/Library/Frameworks/Python.framework/Versions/7.3/Resources/Python.app/Contents/MacOS/Python
et $ head -n 1 $(which pip)
donne #!/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
j'ai donc besoin d'inclure le "pip-dossier" à la "ipython-dossier" si je comprends bien? je ne comprends toujours pas pourquoi pip install requests
dans ipython me dit que la bibliothèque est installé alors que les dossiers ne sont pas correctes.OriginalL'auteur cantdutchthis | 2013-04-12
Vous devez vous connecter pour publier un commentaire.
en fait, il est beaucoup beaucoup beaucoup plus élégant. lorsque pip est installé, puis au sein de python que vous pouvez faire des choses comme ceci:
qui est plus facile. une fois connecté dans un virtualenv vous pouvez simplement vous assurer que vous avez ce dont vous avez besoin dans la session, vous êtes en. facile.
modifier
Une autre alternative serait d'utiliser la
%%bash
de la magie.edit2
Si vous voulez la sortie standard, on pourrait même utiliser le point d'exclamation bang.
pas à ma connaissance. mais vous pouvez installer pip facilement à partir de easy_install et vous devriez peut-être: stackoverflow.com/questions/3220404/...
- Je obtenir la permission refusée pour la première approche, est-il possible de faire en quelque sorte ont exécuté comme sudo?
être prudent. vous pouvez exécuter
sudo jupyter notebook
suivie par ces commandes, mais ce sera la cause de TOUS commande à exécuter avecsudo
privilèges qui peut être un énorme risque de sécurité.si vous pouvez vous assurer que vous êtes dans le bon environnement à partir de la ligne de commande vous pouvez également utiliser
sudo pip install <package>
qui est beaucoup plus sûr. vous avez juste à vous assurer que vous avez le bon environnement python.OriginalL'auteur cantdutchthis
Voici ce que j'ai fait qui l'a fait fonctionner; ouvrir iypthon par le biais de la ligne de commande et tapez
Il affiche une liste de dossiers où d'autres modules python sont situés. Pour moi, c'était:
Avec cette information, je sais maintenant où ipython cherche les modules que l'on peut importer. J'ai donc téléchargé la demande de la bibliothèque manuellement, ajouté à la racine même répertoire que le répertoire suivant existe:
Ce dossier contient les modules python qui appartiennent à des demandes. La seule chose que j'ai maintenant eu à faire était de s'assurer que ipython sait que ce dossier existe. Ce qui a été fait par la mise à jour de la sys.chemin d'accès.
Après cela, je n'ai plus eu le message d'erreur.
Fonctionne, tout simplement.
Aussi après le redémarrage de ipython, j'ai trouvé que ipython met automatiquement à jour le nouveau chemin d'accès dans le
sys.path
liste.OriginalL'auteur cantdutchthis
Si les nouveaux paquets installés sont importés sur le Terminal mais pas importées de ipython notebook, alors il est très probable que vous avez deux versions de python installée sur votre bibliothèque. Pour cette raison il ya des site-packages répertoire où les paquets sont importés sur le terminal et ipython notebook. Pour vérifier si c'est le cas.
Sur l'utilisation des terminaux:
Cela montrera où les modules python sont situés à python que vous utilisez sur le terminal.
Maintenant, dans ipython notebook utilisation:
Cela montrera où les modules python sont situés à python que vous utilisez sur le terminal.
Maintenant, si les deux parcours sont différents, vous savez que vous êtes à l'aide de deux installations de python. Pour résoudre ce problème, copiez installé des paquets de site-packages répertoire de terminal python pour ce site-packages répertoire de ipython.
OriginalL'auteur Dhananjay Mehta
J'ai eu ce même problème lorsque j'essaie d'installer patool, mais il s'est avéré que c'était dû à plus d'un interprète installé, et quand je l'ai couru à partir de ipython, il a travaillé.
OriginalL'auteur Sinux1