我正在阅读如何学习Python的艰难之路,它使用2.最近发现的使用Python的Invent,它使用了3.
我可以下载python 3,并在阅读Invent With Python时使用它,然后当我想阅读如何学习Python的艰难之路时切换回python 2。如果是这样,我将如何选择使用哪个版本?
答案 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系统上的几种方式:
答案 4 :(得分:1)
在Windows 10中,它比上面的用户提供的内容容易得多。
将版本安装在单独的文件夹中,然后转到环境变量并添加两个版本的路径。
现在任何时候你想运行特定版本,只需更改其顺序(路径)并将其移至其他版本的顶部,然后重启cmd并输入python这次,你会看到只有特定版本的python会跑。
例如在我的情况下,我在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.x
和python 3.x
解释程序,请分别使用python
和python3
。
我看到一些答案指向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。
答案 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
我希望它会有所帮助。