你如何在python 2和3之间切换,反之亦然?

时间:2010-12-02 22:55:23

标签: python python-3.x python-2.6

我正在阅读如何学习Python的艰难之路,它使用2.最近发现的使用Python的Invent,它使用了3.

我可以下载python 3,并在阅读Invent With Python时使用它,然后当我想阅读如何学习Python的艰难之路时切换回python 2。如果是这样,我将如何选择使用哪个版本?

10 个答案:

答案 0 :(得分:25)

使用'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

还有一种方法可以使用已有的站点包创建虚拟环境。

答案 1 :(得分: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是一个函数等)。

答案 2 :(得分:1)

是的,你可以。至少在我的机器上(Vista),v2和v3有完全独立的空闲,允许我在我喜欢的时候运行我感觉到的任何版本。所以继续下载v3。

答案 3 :(得分:1)

* nix系统上的几种方式:

  • 安装到单独的目录(例如/ usr / local / python2和/ usr / local / python3)并创建一个链接(例如/ usr / bin / python),您可以将其更改为指向要使用的任何可执行文件。 / LI>
  • 与上面相同的安装,但设置单独的python命令(例如/ usr / bin / python2和/ usr / bin / python3)并在你想调用python时调用它们。或者让python命令默认为其中一个,另一个是pythonN(N = 2或3,不是默认值)。

答案 4 :(得分:1)

在Windows 10中,它比上面的用户提供的内容容易得多。

将版本安装在单独的文件夹中,然后转到环境变量并添加两个版本的路径。

现在任何时候你想运行特定版本,只需更改其顺序(路径)并将其移至其他版本的顶部,然后重启cmd并输入python这次,你会看到只有特定版本的python会跑。

How to switch between python 2 and 3

例如在我的情况下,我在anaconda(v3.0.6)中有两个版本的python,另一个是python 2.7

随时我想运行2.7我将其路径移到anaconda版本上方,如上面的屏幕截图所示,当我想运行anaconda版本时将其移动到下方。

答案 5 :(得分:1)

如果您正在使用anaconda:

创建一个名为py2的Python 2环境,安装Python 2.7:

conda create --name py2 python=2.7

激活并使用Python 2环境:

WINDOWS:

activate py2

LINUX,macOS:

source activate py2

停用 Python 2环境:

WINDOWS:

deactivate

macOS,LINUX:

source deactivate

类似py3

创建一个名为py3的Python 3环境,安装Python 3.5:

conda create --name py3 python=3.5

以此类推。

答案 6 :(得分:0)

这是我的2美分。

如果您使用的是基于unix的系统(Ubuntu等),并且您目前拥有python 2.x.继续从Python.org

下载python 3.x.

安装后,它将创建一个单独的目录python3

你完成了。

使用python2.x使用python filename.py

运行您的程序

要使用python3.x运行您的程序,请使用python3 filename.py

同样,要启动python2.xpython 3.x解释程序,请分别使用pythonpython3

我看到一些答案指向virtualenv,我不认为这就是你所要求的,virtualenv用于隔离Python环境。

答案 7 :(得分:0)

在Windows上,Python launcher可以为您执行此操作。

PEP文章说:

  

Shebang line解析

     

如果第一个命令行参数不以短划线(' - ')开头       字符,将尝试将该参数作为文件打开       并根据[1] ::

中的规则解析shebang行
#! interpreter [optional-arg]

只需在Python脚本的开头添加一个shebang,如下所示:

#! python3
#coding=utf-8

import sys
print(sys.version)
...

或者您可以将命令行参数传递给py.exe启动器:

C:\Users\Administrator>py -3 my_script.py

C:\Users\Administrator>py -2 my_script.py

答案 8 :(得分:0)

如果你使用的是Windows 10并且有python 2.x和3.x。

  1. 打开控制面板>系统和安全性>系统
  2. 点击高级系统设置。
  3. 点击环境变量。
  4. 单击路径并编辑,然后在上面创建您不想使用的python版本的路径[通过单击moveu向上按钮]
  5. 重新启动powershell。
  6. python --version

答案 9 :(得分:0)

到目前为止,我已尝试过6种解决方案,例如:

K

也使用virtualenvwrapper包 等等 他们都没有工作。

我的Windows 10机器上有Python 3.6和Python2.7,所以我将C:\ Python27 \ python.exe重命名为python2.exe C:\ Python36 \ python.exe到python3.exe或者你甚至可以使用python36.exe格式。 当然C:\ Python27,C:\ Python27 \ Scripts,C:\ Python36,C:\ Python36 \ Scripts已添加到Environment Variables PATH。

(1)对于python3,只需输入:

  

python3 -m virtualenv venv3

(2)转到venv文件夹,用以下命令激活它:

  

脚本\ activate.bat

(3)(venv3)显示它被激活:

virtualenv --python=python py27env
mkvirtualenv --python=python3 py3env etc..

(4)然后检查它是否真的是3.6:

  

python --version

(venv3) HOME1@PC C:\Builts\venv3

对于python2:

  

python2 -m virtualenv venv2

结果:

Python 3.6.0

我希望它会有所帮助。