一、mkvirtualenv 简介
1. 虚拟环境简介
考虑以下场景:
- 当我们需要同时维护一个由
Django 1.0
版本驱动的老项目和开发一个使用Django 2.0
版本的新项目时,如何顺滑的在两种开发环境中切换成了一个难题。 - 为了解决这个问题,虚拟环境应运而生。
什么是虚拟环境:
- 第一次安装好
Python
后,我们就有了一个全局级别的环境(简称全局环境),或者叫做系统级别的环境(简称系统环境)。 - 我们可以使用虚拟环境工具在全局环境的基础上创建多个互相独立、互不影响的虚拟环境,这些虚拟环境可以安装不同版本的
Django
。 - 本质上来说虚拟环境就是相互独立的文件夹,内含
Python
解释器和相关依赖。 - 如下图所示:
使用虚拟环境的好处:
- 保持全局环境的干净
- 指定不同的依赖版本
- 方便记录和管理依赖
当涉及到python项目开发时为了不污染全局环境,通常都会使用环境隔离管理工具virtualenv与virtualenvwrapper。
virtualenv是在项目底下执行生成venv环境目录以此来进行管理,这非常适合使用诸如pycharm这种集成环境配置的开发工具;那么当通过shell来运行virtualenv时便会显得非常麻烦,因为每次shell关闭再打开后都需要重新配置环境参数。
virtualenvwrapper是将所有的python项目虚拟环境环境都存放在一起,在使用shell配合小型开发工具就会非常方便。
2. virtualenv 介绍
从 Python 3.3
开始 virtualenv
的子集作为 venv
标准库被集成到了 Python
中,这里还是介绍 virtualenv
的使用方法,对 venv
标准库感兴趣的朋友可以移步做进一步了解。
https://docs.python.org/3/library/venv.html
二、mkvirtualenv 安装使用(mac)
安装virtualenv和virtua
pip3 install virtualenv
pip3 install virtualenvwrapper
查找virtualenvwrapper.sh
which virtualenvwrapper.sh
我的机器上的位置是: /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
修改.bash_profile
打开/Users/用户名/.bash_profile ,在最后加入:
export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_SCRIPT=/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenv export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' 终端运行: source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh source /Users/用户名/.bash_profile
创建虚拟环境:
mkvirtualenv test -p python3
查看虚拟环境:
lsvirtualenv(workon)
test ====
进入虚拟环境:
workon test
退出虚拟环境:
deactivate
删除虚拟环境:
rmvirtualenv test1
pycharm中使用虚拟环境
添加一个python3.6的环境即可
preferences-->
**** 报错解决 *****
1、virtualenv:error:unrecognized arguments: --no-site-packages
--no-site-packages没有这个参数,是virtualenv版本问题
pip3 install --upgrade virtualenv==16.7.9