如何将其他Python解释器设置为IPython

9

我们能否更改IPython使用的Python解释器版本?

我知道有IPython和IPython3,但问题是,IPython使用Python2.7,而IPython3使用Python3.4.2,我看不到任何改变的方法。

如果我想要IPython使用任何我想要的Python解释器版本,我该怎么做?

我希望IPython使用最新的Python版本,Python3.6。我能做到这点吗?


1
我在我的电脑上设置了3个环境,每个环境都有不同版本的Python。你可以使用Anaconda来使生活更轻松。它可以帮助你轻松地在不同的环境之间切换。 - Zeokav
那会如何帮助我呢?抱歉,我不知道Anaconda。 - Scarass
1
你是否需要多个Python版本?你可以创建两个环境 - 一个用于Python 3.4.2,另一个用于Python 3.6。在这两个环境中都安装IPython。 - Zeokav
4个回答

10

修改分布式文件应该是最后的选择。我建议使用 Python3.6 在 Ubuntu 17.04 上采用以下方法:

python3.6 -m pip install IPython # lots of output, make IPython available to script ipython3
python3.6 `which ipython3`
Python 3.6.1 (default, Mar 22 2017, 06:17:05) 
[GCC 6.3.0 20170321] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

3

看起来我找到了解决方案。

你需要编辑启动IPython的文件。在Linux上,你可以通过输入以下命令进入:sudo nano $(which ipython)。 一旦你进入了文件,将shebang行更改为你喜欢的任何Python解释器。 而包含Python3.4模块的目录需要添加到$PYTHONPATH变量中。

什么是shebang行? 文件中的第一行代表将要使用的Python解释器路径。

感谢@code_byter。


1
请将此答案标记为官方正确答案,以帮助社区。谢谢 :) - hridayns

3

首先,请使用which ipython命令检查Python IPython使用的版本(版本指解释器的路径)。一旦确定了路径,请打开文件并将内容发布在此处。

尝试让它看起来像这样:

#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from IPython import start_ipython

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(start_ipython())

第一行代码是确保使用本地的Python解释器,通常被称为 shebang 行。

如果你使用的是 Windows 系统,请尝试使用 where ipython 命令。


谢谢,这帮助我找到了解决方案。 - Scarass
1
随时都可以。请发布您的解决方案,以便帮助其他社区成员 :) 或者如果足够了,请打勾。 - hridayns
解决方案在这里 :) - Scarass

1
对我来说比我想象的要容易。我执行了vim /usr/bin/ipython3命令,找到了以下Bash脚本:
#! /bin/sh

VERSION="3"

if [ ! -f /usr/bin/python$VERSION ]
then
[...]

为了使用Python 3.6.2版本,我将VERSION=3这一行更改为VERSION=3.6。请注意,在我的电脑上将VERSION变量设置为3.6.2并不起作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接