J'ai eu des problèmes avec Python, iPython et les bibliothèques. Les points suivants montrent l'enchaînement des problématiques. J'exécute Python 2.7 sur Mac Lion.
- iPython ne lit pas les bibliothèques de scipy, matplotlib, mais il lit numpy.
- Pour résoudre ce problème, j'ai essayé d'installer la version du code source de Python, et cela ne m'a posé que plus de problèmes puisque maintenant j'ai deux versions différentes: 2.7.1 et 2.7.2
- J'ai remarqué que l'exécution de Python utilise la version 2.7.2 et importe scipy, matplotlib et numpy, mais sur iPython, la version est 2.7.1 qui n'ouvre pas scipy ou matplotlib.
J'ai essayé plusieurs choses que j'ai rencontrées sur d'autres articles de blog. Mais aucun d'entre eux n'a aidé, et malheureusement je ne sais pas trop ce que je fais avec certains d'entre eux. Par exemple: j'ai essayé de désinstaller et de réinstaller ipython avec easy_install et pip. J'ai également essayé de tout réinstaller via homebrew et de modifier le chemin .bash_profile.
ipython
script est "lié" à la version spécifique de Python avec laquelle il a été installé - il ne passera pas automatiquement à ce que vous avez installé en dernier. Si vous avez d'abord installé 2.7.1, puis IPython, puis 2.7.2 à partir de la source, votre IPython continuera à utiliser 2.7.1. Vous devez soit annuler tout votre flailing, revenir à votre version originale de Python et déterminer la raison du point 1; vous pouvez également réinstaller IPython à l'aide de l'installation Python qui peut accéder aux bibliothèques dont vous avez besoin.ipython
exécutable est placé sur votre PATH. Si vous installez ensuite Python 2.7.2 à partir des sources, il s'agit d'une nouvelle copie distincte de Python, elle ne mettra pas à niveau le 2.7.1 existant qui contient IPython. Ainsi, IPython ne verra pas la copie 2.7.2, ni aucune bibliothèque qu'elle contient.Réponses:
Correctif rapide correct:
vous donne
/usr/bin/python
, non? Faireet je parie que ce sera le cas
/usr/local/bin/ipython
. Regardons à l'intérieur:Edit 9/7/16 - Le fichier ressemble maintenant à ceci:
Et le mien fonctionne correctement comme ça, mais ma situation n'est pas exactement celle de l'OP.
Réponse originale - 30/09/13:
Aha - ouvrez
/usr/local/bin/ipython
dans votre éditeur (avec privilèges) et changez la première ligne enenregistrez, démarrez iPython, devrait dire qu'il utilise la version que vous voulez maintenant.
la source
python -m IPython
équivaut àipython
, attendez-vous à ce que vous soyez sûr d'utiliser le bon Python.Publier le commentaire de @ Matt comme réponse pour qu'il soit plus visible
Charge ipython en tant que module avec tout python accessible sur le chemin en premier. Dans mon cas, j'en avais un pré-installé et un ajouté à partir de la bière. Cela fonctionne parfaitement.
la source
Qu'en est-il de l'utilisation d'un virtualenv? J'aime vraiment ça. Ce n'est peut-être pas le moyen le plus rapide, mais je pense que c'est très clair.
Lorsque vous créez un virtualenv, vous pouvez spécifier le chemin python avec l'indicateur -p.
pour python 2.7
pour python 3.4
la source
python -m IPython
démarrera ipython avec la version donnée depython
python -m IPython
besoin de ceci installé:pip install ipython
Tout d'abord, je m'assurerais que vous utilisez le bon python. À une invite de commande, tapez:
Le premier vous indiquera le chemin, le second vous indiquera la version de Python que vous utilisez.
la source
Ma solution est simple, stupide mais fonctionne.
J'utilise
python -V
pour m'assurer de la versionpuis créez un alias dans .bash_profile
Ajouter une ligne
alors vous obtiendrez un
ipython
en python 2.7. 🙂(Au fait, mon
ipython
est installé viahomebrew
, il aura par défaut un ipython exécuté en python 3.)la source
extrêmement pertinent: http://conda.pydata.org/docs/troubleshooting.html#shell-command-location .
td; lr des problèmes sont rencontrés à cause du «hachage» du shell et des variables de chemin.
la source
which python
pointer vers le binaire python virtualenv.hash -r
réparé pour moi; Merci!Une méthode similaire utilisant pyenv
Maintenant, il affichera la version correcte de python
la source
La solution la plus simple à laquelle je puisse penser, qui ne nécessite pas de manipuler les environnements, les fichiers installés ou quoi que ce soit d'autre, repose sur les faits que
ipython
est en fait un script Python.pip intall
.Si la version de Python avec laquelle vous exécutez a un package IPython installé, vous pouvez simplement faire
Cela exécutera le
ipython
script avec l'interpréteur de votre choix au lieu de celui répertorié dans le shebang.la source
ipython
dans mon shell, il lit automatiquement l'interpréteur personnalisé au lieu de l'interpréteur par défaut?Votre problème consiste essentiellement à faire en sorte qu'ipython utilise le bon python.
donc la solution au problème est de faire en sorte qu'ipython utilise le bon python (sur lequel les bibliothèques comme scipy sont installées)
J'ai écrit une solution ici:
Comment faire en sorte qu'iPython utilise Python 2 au lieu de Python 3
la source
Je suis tombé sur le même problème, mais ce qui suit était la seule solution qui fonctionnait pour moi sur OSX 12, Sierra.
ipython se lancait toujours pour python 3.6 mais j'en avais besoin pour 2.7. Je n'ai pas pu trouver de script de démarrage ipython pour 2.7, ni le module IPython avec lequel exécuter
python -m
. Aucunbrew instally ipython
pip install ipython
oupip2 install ipython
n'a pu me procurer la version 2.7. Alors je l'ai eu manuellement.brew install ipython@5
installe la version 2.7 à partir d' ici mais ne la mettra pas sur votre$PATH
car il sait que le nom est en conflit avec un autre paquet.ln -s /usr/local/Cellar/ipython@5/5.5.0_1/bin/ipython /usr/local/bin/ipython2
corrigera cela et vous permettra de simplement exécuter àipython2
partir de votre invite de shellPour moi, parce que je voulais vraiment utiliser ipython pour 2.7, j'ai également exécuté les commandes suivantes.
la source
Toutes les réponses mentionnées ici n'aident pas à résoudre le problème si vous utilisez anaconda ou un autre wrapper d'environnement virtuel.
Cette réponse est basée sur l'hypothèse que vous utilisez anaconda.
Supposons que vous soyez dans un environnement python 3 et que lors de la création d'un notebook sur jupyter notebook, il affiche "Python 2" au lieu de "Python 3".
C'est parce que "ipython" est essentiellement un script qui est exécuté et dans ce script, il mentionne la version de Python qu'il utilise pour exécuter la commande. Tout ce que vous avez à faire est de changer cette ligne pour qu'ipython utilise la version de python souhaitée.
Arrêtez d'abord le serveur ipython et récupérez l'emplacement de l'exécutable python de l'environnement actuel en utilisant la commande "which python"
Ma sortie est:
Maintenant, récupérez l'emplacement de l'exécutable d'ipython, utilisez la commande "which ipython"
le mien est :
Notez qu'il utilise une version différente de python ie. python à partir d'un environnement spécifique exécutant une version différente de python, c'est-à-dire exécutant python à partir d'un environnement différent.
Naviguez maintenant vers le répertoire anaconda2 / bin (pour les utilisateurs d'anaconda 3, il devrait être anaconda3 / bin) et recherchez le fichier "ipython". dans cette modification, la première ligne doit pointer vers la version actuelle de python souhaitée. ie la sortie de "quel python" ie:
Notez que j'ai changé mon environnement python de py2 (exécutant python 2.7) à py3 (exécutant python 3.5).
Enregistrez le fichier. Et lancez jupyter notebook, maintenant lors de la création d'un nouveau notebook, l'option "Python 3" devrait être visible.
À votre santé!
la source