1.为什么需要版本共存?

首先python版本共存指的是不同版本的python解释器,同时存在在同一个独立的系统中。
例如:我们在进行项目开发时有时需要用到python2,有时要用到python3。但是在我们
执行.py文件时在命令窗口键入 python test.py 时,到底系统会给我用python2
执行还是python3执行呢?那我们有时候需要用指定的python版本该怎么办呢? 以及
我如何用指定的pip? 这些都将是大问题。小编我最近也遇到了类似的问题,弄了很久
查了很多资料,最后用虚拟环境完美地解决了这些问题。

2.如何建虚拟环境

首先 进入terminal(win下指命令行)界面 输入python
会进入python shell模式


图片描述

在这里我们就能看到系统默认的python解释器版本了
然后输入quit() 退出python3 shell
(python2 shell 的退出方法为Ctrl+C)

建议先卸载其中一个python版本(python3 用安装程序卸载 python2用卸载程序卸载)
不过不卸载应该也不会出现问题 只不过我没试过 不能保证没问题

如果你的默认python没有安装pip那就先安装pip
pip安装包下载地址
下载下来后解压 进入terminal界面切换到pip的文件夹
执行python setup.py install

更新pip
pip -m pip install --upgrade pip
如果pip更新失败
就再重新安装pip 继续更新

安装virtualenvwrapper-win
注:如果是linux系统 比如ubuntu等 不需要加-win
pip install virtualenvwrapper-win

安装成功后
新建虚拟环境

mkvirtualenv -p C:\python35\python.exe py3env
# C:\python35\python.exe是我的python3的路径

mkvirtualenv -p C:\python27\python.exe --system-site-packages py2env
# C:\python27\python.exe是我的python3的路径 --system-site-packages参数是导入python2中已安装的包 不加这个参数 默认不导入

然后我们就能通过在terminal中输入 workon py3env来进入python3的虚拟环境


图片描述


输入workon py2env来进入python2的虚拟环境

3.virtualenvwrapper的其他命令

workon env_name
#进入虚拟环境或者切换虚拟环境

deactivate
#离开虚拟环境

workon 或 lsvirtualenv
#列出虚拟环境列表

rmvirtual env_name
#删除虚拟环境

lethe
44 声望7 粉丝