如何在Python 2和3之间切换?

49 投票
13 回答
112172 浏览
提问于 2025-04-16 07:57

我正在阅读《如何艰难地学习Python》,这本书用的是Python 2。最近我发现了《用Python发明东西》,这本书用的是Python 3。

我可以下载Python 3,在看《用Python发明东西》时使用它,然后在想看《如何艰难地学习Python》时再切换回Python 2吗?如果可以的话,我该怎么选择使用哪个版本呢?

13 个回答

9

在Windows 10上,切换Python版本比上面用户提到的要简单得多。

你可以把两个版本安装在不同的文件夹里,然后去环境变量设置里,把这两个版本的路径都添加进去。

现在,每当你想运行某个特定版本时,只需要调整它们的顺序,把想用的版本的路径放到其他版本的上面,然后重启命令提示符,输入python,这样就只会运行你选择的那个Python版本。

如何在Python 2和3之间切换

比如在我的情况下,我有两个Python版本,一个是在Anaconda里的(v3.0.6),另一个是Python 2.7。

每当我想运行2.7版本时,就把它的路径移动到Anaconda版本的上面,如上面的截图所示;而当我想运行Anaconda版本时,就把它的路径移到下面。

12

这要看你的系统或平台是什么了...

我现在用的是Ubuntu 10.10,安装了2.6和3.1两个版本。系统默认的Python是2.6,而Python3是作为额外的包安装的。

corey@studio17:~$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
corey@studio17:~$ python3
Python 3.1.2 (release31-maint, Sep 17 2010, 20:27:33) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

同样,在Windows上,我也安装了2.6和3.1(分别在C:\Python26和C:\Python31)。

在这两个版本之间切换很简单。


另外,2.x和3.x之间有一些语法上的区别,你需要注意一下(比如print现在是一个函数等等)。

40

使用'virtualenv',你可以在一台机器上拥有不同的独立Python环境。而且,你可以随时在不同的Python解释器版本之间切换。

什么是virtualenv?

虚拟环境是一种独立的Python工作副本,它让你可以专注于一个特定项目,而不用担心会影响到其他项目。它允许你为每个项目安装不同的Python环境。实际上,它并不会安装多个Python的副本,而是提供了一种聪明的方法来保持不同项目环境的独立。

如何安装?

pip install virtualenv

要为Python 2.7创建虚拟环境:

root:~# which python2.7

/usr/bin/python2.7

root:~# which python3.4

/usr/local/bin/python3.4

你也可以使用你选择的Python解释器:

root:~# virtualenv -p /usr/bin/python2.7 Vpy27

Running virtualenv with interpreter /usr/bin/python2.7

New python executable in /root/Vpy27/bin/python2.7

Also creating executable in /root/Vpy27/bin/python

Installing setuptools, pip, wheel...done.

要开始使用虚拟环境,首先需要激活它:

root:~# source Vpy27/bin/activate

当前虚拟环境的名称会显示在提示符的左侧:

(Vpy27) root:~# python -V
Python 2.7.3

像往常一样安装包,比如:

(Vpy27) root:~# pip install junos-eznc    >> All pip installs done here, will be available only in this environment.

如果你暂时完成了在虚拟环境中的工作,可以将其停用:

(Vpy27) root:~# deactivate   

要为Python 3.4创建虚拟环境:

root:~# which python3.4

/usr/local/bin/python3.4

root:~# virtualenv -p /usr/local/bin/python3.4 Vpy34

root:~# source Vpy34/bin/activate

(Vpy34) root:~# python -V
Python 3.4.4

还有一种方法可以创建带有现有site-packages的虚拟环境。

撰写回答