2016-11-04 2 views
4

У меня установлены оба Python 2.7 и 3.5. Если я запускаю скрипт из командной строки с помощью python, он использует Python 2.7, но если я запускаю IPython, он использует Python 3:Как сделать iPython использовать Python 2 вместо Python 3

[email protected]:~$ python -V 
Python 2.7.12 
[email protected]:~$ 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]: 

Есть ли способ запустить IPython так, что он использует Python 2? (Я использую Ubuntu LTS 16.04).

+0

Как вы установили ipython? – Nurjan

+0

Я все еще ищу решение, потому что виртуальные среды не имеют доступа к другим модулям, не установленным с помощью 'pip', например' rethinkdb'. [Nurzhan] (http://stackoverflow.com/users/671150/nurzhan), я точно не помню, как я установил iPython, но я считаю, что я загрузил файл .whl и сделал 'pip install [ipython_file] .whl' , –

+0

Я установил ipython на xubuntu 16.04 LTS, используя 'sudo apt-get install ipython'. По умолчанию используется python 2.7.12. Я не знаю, почему у вас есть эта проблема. Я знаю, что vim, начиная с Ubuntu 16.04 LTS, по умолчанию работает с python3. – Nurjan

ответ

1

Вслед ipython reads wrong python version в /usr/local/bin/ipython, я просто изменил

#!/usr/bin/python3 

в первой строке

#!/usr/bin/python 

и Python 2 стала версия по умолчанию используется IPython:

[email protected]:~$ 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. 
0

Следующее cel второе решение (для пользователей, не являющихся Anaconda), на Using both Python 2.x and Python 3.x in IPython Notebook, я настроил две виртуальные среды для Python 2 и Python 3 и установил iPython отдельно для каждого.

2

Меньше интрузивное решение (так как мое решение ниже не нуждается в изменении юбые файлы библиотек) этой проблемы является

python2.7 -m IPython notebook 

поэтому общая команда

{{питон-вы-хотите-IPython в использовании}} -m IPython ноутбук

Почему это будет работать ?

Потому что, если вы видите ipython script (/ USR/местные/бен/IPython), кажется, что питон скрипт сам по себе и имеет притон (#!/USR/бен/python3), так что IPython является не автономный двоичный файл, но он получает жизнь из-за какого-то питона. Таким образом, для того, чтобы сам скрипт ipython нуждался в некотором питоне для его запуска, поэтому вы запускаете модуль ipython напрямую, используя какой-либо питон по вашему выбору, вместо того, чтобы позволить этому/usr/local/bin/ipython решить его для вас, и это исправление для проблема «того, что использует python ipython».

0

Теперь IPython 6.0+ не поддерживает Python 2.6, 2.7, 3.0, 3.1 или 3.2. При использовании Python 2.7, пожалуйста, установите версию долгосрочной версии поддержки IPython 5.x LTS.

Начиная с IPython 6.0 требуется Python 3.3 и выше.