## python虚拟环境的选择
### 一、 virtualenv 和venv的区别
1. venv只支持python3的环境,无法安装python2的的环境,所以,如果需要用到python2就必须安装virtualevn
2. virtualenv可以同时支持python2和python3
+ 如果一台机器同时又python2和python3,建议用python3的pip来安装virtualenv
+ python2下pip安装的virtualenv无法安装python3的虚拟环境
+ python3下Pip安装的virtualenv可以安装python3和python2的虚拟环境
3. 创建虚拟环境命令
+ python3 -m venv myenv # 在当前目录下创建虚拟环境
+ virtualenv -p python2/python3 myenv
+ virtualenv -p /usr/bin/python2.7 myenv
+ virtualenv --python==/usr/bin/python2.7 myenv
+ virtualenv 如果要创建一个不带已经安装到系统的中第三方包的环境,可以加上参数 --no-site-packages,这样就可以得到一个不带任何第三方包的干净的python运行环境
4. 虚拟环境中的常用操作
+ pip install flask==1.0.2 # 安装指定版本的包
+ pip3 freeze > requirements.txt
+ pip3 install -r requirements.txt
5. 激活虚拟环境
+ virtualenv和venv是一样的,
+ 激活命令 . /~~/myenv/bin/activate
6. 参考文档
+ [python开发之virtualenv与virtualenvwrapper讲解](https://www.cnblogs.com/pyyu/p/9015317.html)
### 二、 virtualenv 和 virtualenvwrapper的关系
1. 虚拟环境是virtualenv创建的,但是激活使用比较麻烦
2. virtualenvwrapper(虚拟环境封装器)带更加简便的命令
+ 创建(mkvirtualenv)
+ 激活(workon)
+ 删除 rmvirtualenv
+ 列出 lsvirtualenv
+ 进入虚拟环境 cdvirtualenv
+ 复制 cpvirtualenv env1 env2
### 三、 安装virtualenvwrapper方法
1. pip install virtualenvwrapper
2. 配置用户~/.bashrc 加入如下内容
+ export WORKON_HOME=/opt/pyenvs
+ source /usr/local/bin/virtualenvwrapper.sh
3. 激活source ~/.bashrc
### 四、激活virtualenvwrapper报错和解决方法
1. 报错/usr/local/bin/virtualenvwrapper.sh文件不存在
2. workonmkvirtualenv等命令都提示不能存在
3. 我检查了这个目录下存在这个文件,尝试过各种方法仍然无法解决
4. 解决办法:
+ root用户cd到/usr/local/bin目录下
+ . virtualenvwrapper.sh 直接运行
+ 系统在/opt/pyenvs/下成功创建wrapper需要的文件
+ workon等命令,终于可以使用了