如何让iPython使用Python 2而不是Python 3

时间:2016-11-04 09:52:47

标签: python-2.7 ipython

我安装了Python 2.7和3.5。如果我使用python从命令行运行脚本,它使用Python 2.7,但如果我启动iPython,它使用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]: 

有没有办法启动iPython以便它使用Python 2? (我正在使用Ubuntu LTS 16.04)。

5 个答案:

答案 0 :(得分:9)

较少侵入性的解决方案(因为我的解决方案下面不需要更改任何库文件)来解决这个问题

python2.7 -m IPython notebook

所以一般命令是

{{python-you-want-ipython-to-use}} -m IPython notebook

为什么会这样?

因为如果你看到ipython script(/ usr / local / bin / ipython)它本身似乎是一个python脚本而且它有shebang(#!/ usr / bin / python3),所以ipython不是一个独立的二进制文件,但它因某些python而得到生命。因为ipython脚本本身需要一些python来运行它,所以你使用你选择的一些python直接运行ipython模块,而不是让/ usr / local / bin / ipython为你决定它,这就是修复'python ipython使用什么'的问题。

答案 1 :(得分:6)

关注ipython reads wrong python version,在/usr/local/bin/ipython中,我只是更改了

#!/usr/bin/python3

的第一行
#!/usr/bin/python

并且Python 2已成为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.

答案 2 :(得分:4)

现在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及更高版本。

答案 3 :(得分:0)

celUsing both Python 2.x and Python 3.x in IPython Notebook的第二个解决方案(针对非Anaconda用户)之后,我为Python 2和Python 3设置了两个虚拟环境,并在每个虚拟环境中分别安装了iPython。

答案 4 :(得分:0)

我选择通过py执行的python版本,如下所示:

py -2.7 -m IPython

其中2.7是我需要的版本。