web-dev-qa-db-fra.com

Comment faire en sorte que iPython utilise Python 2 au lieu de Python 3

J'ai les deux Python 2.7 et 3.5 installés. Si je lance un script à partir de la ligne de commande en utilisant python, il utilise Python 2.7, mais si je lance iPython, il utilise Python 3:

kurt@kurt-ThinkPad:~$ python -V
Python 2.7.12
kurt@kurt-ThinkPad:~$ ipython
Python 3.5.2 (default, Sep 10 2016, 08:21:44) 
Type "copyright", "credits" or "license" for more information.

IPython 5.1.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]: 

Existe-t-il un moyen de lancer iPython pour qu’il utilise Python 2? (J'utilise Ubuntu LTS 16.04).

6
Kurt Peek

Après ipython lit une version python incorrecte , dans /usr/local/bin/ipython, j’ai simplement changé

#!/usr/bin/python3

dans la première ligne à

#!/usr/bin/python

et Python 2 est devenu la version par défaut utilisée par iPython:

kurt@kurt-ThinkPad:~$ ipython
Python 2.7.12 (default, Jul  1 2016, 15:12:24) 
Type "copyright", "credits" or "license" for more information.

IPython 2.4.1 -- 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.
6
Kurt Peek

Une solution moins intrusive (car ma solution ci-dessous ne nécessite aucun changement de fichier de bibliothèque) à ce problème est 

python2.7 -m IPython notebook

donc la commande générale est 

{{python-you-want-ipython-to-use}} -m Cahier de travail IPython

Pourquoi cela fonctionnera-t-il?

Parce que si vous voyez le script ipython (/ usr/local/bin/ipython), il semble qu’il s’agisse d’un script python proprement dit. pas un binaire autonome, mais il obtient la vie à cause de certains python. Donc, comme ce script ipython lui-même a besoin de python pour l’exécuter, vous devez donc exécuter le module ipython directement en utilisant un python de votre choix au lieu de laisser à/usr/local/bin/ipython le choix pour vous, le problème de 'ce que python utilise ipython'.

7
Harish Kayarohanam

iPython 6.0+ ne prend désormais pas en charge les versions 2.6, 2.7, 3.0, 3.1 ou 3.2 de Python. Si vous utilisez Python 2.7, installez la version de support à long terme IPython 5.x LTS.

À partir de IPython 6.0, Python 3.3 et supérieur est requis.

3
Alkor

Suite à la deuxième solution de cel (pour les utilisateurs non-Anaconda) sur Utilisant Python 2.x et Python 3.x dans IPython Notebook , j’ai configuré deux environnements virtuels pour Python 2 et Python 3 et installé iPython séparément sur chacun.

0
Kurt Peek