web-dev-qa-db-fra.com

iPython installé mais non trouvé

J'ai récemment supprimé Anaconda et réinstallé python avec brew. J'ai tout installé selon ces instructions.

Python fonctionne très bien, et tous les paquets que j'ai testés jusqu'à présent fonctionnent également. J'ai installé ipython, mais essayer de le lancer depuis le terminal donne:

-bash: ipython: commande introuvable

J'ai localisé l'installation à:

/usr/local/lib/python2.7/site-packages/ipython

Suite à d'anciennes questions liées, j'ai essayé d'ajouter ce chemin à .bash_profile mais j'ai obtenu:

-bash:: /usr/local/lib/python2.7/site-packages/ipython: Aucun fichier ou répertoire de ce type

Chaque fois que le terminal commence.

Quelques informations supplémentaires: Anaconda a installé une version supprimée, El-Capitan 10.11.2, python 2.7.

Toute aide serait très appréciée!

EDIT: ajout de quelques informations supplémentaires à la requête @cel:

echo $PATH donne: 

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/Library/TeX/texbin:/Applications/Sublime Text.app/Contents/SharedSupport/bin

which -a python donne: /usr/local/bin/python et /usr/bin/python.

EDIT: ajout du résultat de python -m pip install ipython à la demande de cel:

Requirement already satisfied (use --upgrade to upgrade): ipython in /usr/local/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): traitlets in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already satisfied (use --upgrade to upgrade): pickleshare in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already satisfied (use --upgrade to upgrade): simplegeneric>0.8 in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already satisfied (use --upgrade to upgrade): decorator in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already satisfied (use --upgrade to upgrade): gnureadline in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already satisfied (use --upgrade to upgrade): appnope in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already satisfied (use --upgrade to upgrade): pexpect in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already satisfied (use --upgrade to upgrade): ipython-genutils in /usr/local/lib/python2.7/site-packages (from traitlets->ipython)
Requirement already satisfied (use --upgrade to upgrade): path.py in /usr/local/lib/python2.7/site-packages (from pickleshare->ipython)
Requirement already satisfied (use --upgrade to upgrade): ptyprocess>=0.5 in /usr/local/lib/python2.7/site-packages (from pexpect->ipython)
18
Adam Haber

La recherche de "bash: ipython: command not found" sur le Web génère plusieurs occurrences (y compris cette SO question ), mais elles ne sont pas particulièrement utiles. D'après le son, vous avez IPython, le Python package installé, mais ipython - le wrapper/launcher pour cela - est manquant pour une raison quelconque. Pour vérifier si c'est le cas, essayez de lancer:

% python -m IPython
Python 2.7.9 (default, Feb 10 2015, 03:28:08) 
Type "copyright", "credits" or "license" for more information.

IPython 4.0.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]:

Si cela vous amène à IPython, vous pouvez essayer de créer un alias de shell comme le suggère la réponse SO liée ci-dessus, c’est-à-dire mettre quelque chose comme ceci dans le script de démarrage de votre shell: alias ipython='python -m IPython'. Ou créez le script de lancement vous-même. Pour moi, il réside dans /usr/local/bin/ipython et contient les éléments suivants:

#!/usr/local/opt/python/bin/python2.7

# -*- 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())

J'espère que cela t'aides. (Si tel est le cas, envisagez de voter avec un autre SO question également ...)

UPDATE: Voici quelques liens potentiellement plus pertinents:

39
evadeflow

La réponse donnée par @evadeflow fait l'affaire, mais plusieurs autres paquets sont installés avec pip et il sera très inconfortable de continuer à ajouter alias pour chacun d'entre eux .. Une manière plutôt élégante consiste à ajouter le chemin où ces paquets sont installés à la variable $PATH. Dans mon cas, l’ajout de la ligne suivante dans ~/.bashrc s’est avéré efficace:

export PATH=$PATH:/home/my_user_name/.local/bin

Addl refs: https://askubuntu.com/q/551990/632996 ; https://askubuntu.com/q/556090

0
Parth92