【问题】
电脑里需要多个python版本,比如自带的python2.6,
应用最广的python2.7,以及新版python3.6等。
【解决】
安装普遍使用的virtualenv工具。
virtualenv 是一个创建隔绝的Python环境的 工具。可随时创建一个干净的python环境,可随时删除任一创建的python环境,且不会影响到主机的python环境。
【创建2种python版本的虚拟环境】
1.首先创建python3的虚拟环境
系统下载python3,使用默认安装即可。
终端检查
MacBook-Air:~ $ python3
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
MacBook-Air:~ $
2.使用python3自带的pip3安装virtualenv
MacBook-Air:~ $ pip3 install virtualenv
Collecting virtualenv
Downloading virtualenv-15.2.0-py2.py3-none-any.whl (2.6MB)
100% |████████████████████████████████| 2.6MB 171kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-15.2.0
3.检查安装的virtualenv位置版本
MacBook-Air:~ $ pip3 show virtualenv
Name: virtualenv
Version: 15.2.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Jannis Leidel, Carl Meyer and Brian Rosner
Author-email: python-virtualenv@groups.google.com
License: MIT
Location: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
通过ls命令可以看到有virtualenv.py文件,这个可作为后面指定python版本的文件
MacBook-Air:~ $ ls /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
README.txt include pip-selfcheck.json virtualenv-15.2.0.dist-info
__pycache__ lib pkg_resources virtualenv.py
bin pip setup tools virtualenv_support
easy_install.py pip-9.0.3.dist-info setuptools-39.0.1.dist-info
【基本使用】
1.新建一个存放虚拟环境的文件夹(virtual虚拟)
$ mkdir xuni
$ cd xuni
新建一个虚拟环境,如果加点.指隐藏文件(.env3)
2.指定一个python解释器,即使用哪个版本的python
#由 上面第3点可知virtualenv.py位置,由于建立的是python3的虚拟环境,所以用python3指定
MacBook-Air:env3$ python3 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/virtualenv.py env3
(#为了便于分辨,python3使用env3环境
此时会新建一个env3文件夹)
当展示这个的时候,说明安装成功
New python executable in /Users/virtual/env3/bin/python3
Also creating executable in /Users/virtual/env3/bin/python
Installing setuptools, pip, wheel...done.
可以看到env3下多了三个文件夹

里面包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了
*如果想安装2的虚拟环境,这样就好
python2 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/virtualenv
.py env2
这样就会创建一个叫env2的python2的虚拟环境
【激活使用虚拟环境】
$ source env3/bin/activate
(env3) MacBook-Air:virtual$
windows使用:
venv\Scripts\activate
当前虚拟环境的名字会显示在提示符左侧, 以让您知道它是激活的。从现在起,任何您使用pip安装的包将会放在 ``env3 文件夹中, 与全局安装的Python隔绝开。
直接输入python,可看到现在是python3的环境
(env3) MacBook-Air:env3 $ python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55)
像平常一样安装包,比如:
$ pip install requests
【停用虚拟环境】
如果您在虚拟环境中暂时完成了工作,则可以停用它:
$ deactivate
【类似的安装python2.7的虚拟环境】
只要把上面的3,换成2.7即可。直接贴步骤。
下载pip,解压后,到该文件夹下使用python的setup.py工具安装
$ python setup.py install
使用pip 安装virtualenv
$ pip install virtualenv
检查:$ pip show virtualenv
得到virtualenv.py文件在/Library/Python/2.7/site-packages种
在之前的存虚拟环境的文件夹下,创建python2的虚拟环境文件夹
$ cd virtual
$ mkdir env2
$ cd env2
指定python2.7的解释器
$ python 2.7 /Library/Python/2.7/site-packages/virtualenv.py env2
或者直接virtualenv env2
【其他】
为了保持您的环境的一致性,可以将当前环境安装的包和版本,记录在一个文件下。即“冷冻住(freeze)”环境包当前的状态,请运行:
$ pip freeze > requirements.txt
当重新创建这样的环境时,会非常容易,使用
$ pip install -r requirements.txt
这能帮助确保安装、部署和开发者之间的一致性
【备注】
由于一般不会用到3个以上的python虚拟环境,所以也无需安装virtualenvwrapper.
它把您所有的虚拟环境都放在一个地方。如果需要,请参考
根据文档
但该文档在 指定解释器时,没有成功。因为它是建立在python已配置在默认环境变量的基础上。
【拓展】
window下安装虚拟环境
>python -m pip install virtualenv
- 创建虚拟环境
virtualenv 目录名virtualenv penv
- 激活虚拟环境,windows下激活virtualenv的环境不需要使用source命令,直接执行虚拟环境中scripts目录下的activate即可:
f:\test\penv\Scripts\activate
- 退出虚拟环境,执行Scripts目录下的deactivate:
f:\test\penv\Scripts\deactivate.bat
网友评论