我正在阅读《笨办法学 Python》,该书使用的是 2 版本。最近发现了《Python 编程快速上手》这本书,它使用的是 3 版本。
我能否下载 Python 3,在阅读《Python 编程快速上手》时使用它,然后在想要阅读《笨办法学 Python》时切换回 Python 2?如果可以,我该如何选择所使用的版本?
我正在阅读《笨办法学 Python》,该书使用的是 2 版本。最近发现了《Python 编程快速上手》这本书,它使用的是 3 版本。
我能否下载 Python 3,在阅读《Python 编程快速上手》时使用它,然后在想要阅读《笨办法学 Python》时切换回 Python 2?如果可以,我该如何选择所使用的版本?
使用'virtualenv',您可以在单台计算机上拥有不同的隔离Python环境。同时您可以随时在不同的Python解释器版本之间切换。
什么是Virtual Environment?
虚拟环境是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创建虚拟环境。
这取决于您的系统/平台...
我目前使用的是Ubuntu 10.10,同时安装了2.6和3.1版本的Python。默认的系统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是一个函数等)。
python3 myprog.py
可能有效,或者您可能需要执行C:\Python31\python.exe myprog.py
。 - Thomas K我使用Windows 10操作系统,同时安装有Python 3.5和2.7版本。通过PowerShell命令行工具,下面是我如何在两个版本之间切换:
############################################################
# Switch to Python 2.7
############################################################
# Remove python 3.5 from PATH
$current_path = [Environment]::GetEnvironmentVariable("Path", "User")
$python3_path = "C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\;"
$new_path = $current_path.replace($python3_path, "")
[Environment]::SetEnvironmentVariable("Path", $new_path, "User")
# Add python 2.7 to PATH
# Run PowerShell as administrator
$current_path = [Environment]::GetEnvironmentVariable("Path", "Machine")
$python2_path = "C:\Python27\;C:\Python27\Scripts;"
$new_path = $python2_path + $current_path
[Environment]::SetEnvironmentVariable("Path", $new_path, "Machine")
# Restart PowerShell to see change
# Confirm change
python --version
############################################################
# Switch to Python 3.5
############################################################
# Remove python 2.7 from PATH
# Run PowerShell as administrator
$current_path = [Environment]::GetEnvironmentVariable("Path", "Machine")
$python2_path = "C:\Python27\;C:\Python27\Scripts;"
$new_path = $current_path.replace($python2_path, "")
[Environment]::SetEnvironmentVariable("Path", $new_path, "Machine")
# Add python 3.5 to PATH
$current_path = [Environment]::GetEnvironmentVariable("Path", "User")
$python3_path = "C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\;"
$new_path = $python3_path + $current_path
[Environment]::SetEnvironmentVariable("Path", $new_path, "User")
# Restart PowerShell to see change
# Confirm change
python --version
可以的。至少在我的电脑上(Vista),v2和v3有完全独立的IDLE,让我可以在任何时候运行我想要的版本。所以请放心下载v3。
*nix系统下有几种方法:
这是我的两分钱。
如果您使用的是基于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环境。
conda create --name py2 python=2.7
激活并使用Python 2环境:
WINDOWS系统:
activate py2
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
如何在没有管理员权限的情况下为Python2安装虚拟环境。将python.exe重命名为python27.exe并放入Python2文件夹中; 将python27和python27\Scripts添加到您帐户的环境变量中。 调用命令提示符cmd
python27 <python2.7 Scripts\pip.exe路径> install virtualenv