J'ai eu des problèmes avec Python, iPython et les bibliothèques. Les points suivants montrent la chaîne de la problématique. J'exécute Python 2.7 sur Mac Lion.
J'ai essayé plusieurs choses que j'ai rencontrées sur d'autres blogs. 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.
Ok solution rapide:
which python
vous donne /usr/bin/python
, non? Faire
which ipython
et je parie que ce sera /usr/local/bin/ipython
. Regardons à l'intérieur:
Edit 9/7/16 - Le fichier ressemble maintenant à ceci:
cat /usr/local/bin/ipython
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from IPython import start_ipython
if __== '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(start_ipython())
Et le mien fonctionne correctement ainsi, mais ma situation n'est pas exactement la même que celle du PO.
Réponse originale - 30/09/13:
cat /usr/local/bin/ipython
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'ipython==0.12.1','console_scripts','ipython'
__requires__ = 'ipython==0.12.1'
import sys
from pkg_resources import load_entry_point
if __== '__main__':
sys.exit(
load_entry_point('ipython==0.12.1', 'console_scripts', 'ipython')()
)
Aha - ouvrez /usr/local/bin/ipython
dans votre éditeur (avec privilèges) et modifiez la première ligne en
#!/usr/local/bin/python
enregistrer, démarrez iPython, devrait indiquer qu’il utilise la version que vous souhaitez maintenant.
Qu'en est-il de l'utilisation d'un serveur virtuel? J'aime vraiment beaucoup. Peut-être que ce n'est pas le moyen le plus rapide, mais je pense que c'est très clair.
Lorsque vous créez virtualenv, vous pouvez spécifier le chemin d'accès Python avec l'indicateur -p.
pour python 2.7
$ virtualenv -p /usr/bin/python2.7 venv2.7
$ source venv2.7/bin/activate
(venv2.7)$ pip install ipython
(venv2.7)$ ipython
pour python 3.4
$ virtualenv -p /usr/bin/python3.4 venv3.4
$ source venv3.4/bin/activate
(venv3.4)$ pip install ipython
(venv3.4)$ ipython
Premièrement, je m'assurerais que vous utilisez le bon python. A l'invite de commande, tapez:
which python
python -V
Le premier vous indiquera le chemin, le second vous indiquera la version Python que vous utilisez.
Ma solution est simple, stupide mais fonctionne.
J'utilise python -V
pour m'assurer de la version
$ python -V
Python 2.7.10
puis faire un alias dans .bash_profile
$ vi ~/.bash_profile
Ajouter une ligne
alias ipython="python -m IPython"
alors vous obtiendrez une ipython
en python 2.7. ????
(Au fait, ma ipython
est installée via homebrew
, un ipython sera exécuté par défaut en python 3.)
$ brew install ipython
extrêmement pertinent: http://conda.pydata.org/docs/troubleshooting.html#Shell-command-location .
des problèmes se posent en raison du 'hachage' et des variables de chemin d'accès de Shell.
Une méthode similaire utilisant pyenv
pyenv install 3.4.5
pyenv local 3.4.5
pip install ipython
ipython
Maintenant, il affichera la version correcte de python
Python 3.4.5
Poster le commentaire de @ Matt comme réponse juste pour qu'il soit plus visible
python -m IPython
Charge ipython en tant que module avec le python accessible en premier sur le chemin. Dans mon cas, j'en avais un pré-installé et un autre que j'ai ajouté de breuvage. Cela fonctionne parfaitement.
La solution la plus simple à laquelle je pouvais penser, qui ne nécessite aucune manipulation d’environnements, de fichiers installés ou autre, repose sur les faits
ipython
est en réalité un script Python.pip intall
.Si la version de Python que vous utilisez a un paquet IPython installé, vous pouvez simplement faire
/path/to/desired/python $(which ipython)
Cela exécutera le script ipython
avec l'interpréteur souhaité au lieu de celui répertorié dans Shebang.
Je suis tombé sur le même problème, mais voici la seule solution qui a fonctionné pour moi sur OSX 12, Sierra.
ipython se lançait 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 la version 2.7, ni le module IPython à exécuter avec python -m
. Aucun de brew instally ipython
pip install ipython
ou pip2 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 de 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 ceci et laissez-vous simplement lancer ipython2
depuis votre invite de shell
En ce qui me concerne, étant donné que je voulais vraiment utiliser ipython pour la version 2.7, j’ai également exécuté les commandes suivantes.
ln -s /usr/local/Cellar/ipython/6.2.1/bin/ipython /usr/local/bin/ipython3
rm -f /usr/local/bin/ipython
ln -s /usr/local/bin/ipython2 /usr/local/bin/ipython
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 l'anaconda.
Supposons que vous vous trouvez dans un environnement Python 3 et que lors de la création d'un bloc-notes sur un bloc-notes jupyter, il affiche "Python 2" au lieu de "Python 3".
En effet, "ipython" est essentiellement un script exécuté. Dans ce script, il indique la version python utilisée pour exécuter la commande. Tout ce que vous avez à faire est de changer cette ligne pour que ipython utilise la version de python souhaitée.
Commencez par arrêter le serveur ipython et obtenez l'emplacement de l'exécutable python de l'environnement actuel à l'aide de la commande "which python"
Ma sortie est:
/home/sourabh/anaconda2/envs/py3/bin/python
Maintenant, récupérez l’emplacement exécutable d’ipython en utilisant la commande "which ipython"
le mien est :
/home/sourabh/anaconda2/envs/py2/bin/python
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 de anaconda 3, il devrait s'agir de anaconda3/bin) et recherchez le fichier "ipython". dans cette édition, la première ligne doit être dirigée vers la version actuelle de python que vous voulez. c'est-à-dire la sortie de "quel python", c'est-à-dire:
#!/home/sourabh/anaconda2/envs/py3/bin/python
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, l’option "Python 3" doit maintenant être visible lors de la création d’un nouveau carnet.
À votre santé!
Votre problème est de faire en sorte qu'ipython utilise le bon python.
le problème est donc de faire en sorte qu'ipython utilise le bon python (qui a les bibliothèques installées comme scipy)
J'ai écrit une solution ici:
Comment faire que iPython utilise Python 2 au lieu de Python 3