virtualenv可以隔离python环境,比如我们A项目使用python2.7,B项目使用python3.4,C项目使用python3.6,而且各个项目之间依赖的包也各不相同,如果不能把它们隔离,很难运行在同一台服务器上,有了virtualenv,迎刃而解,由于virtualenv比较零散,我推荐直接使用virtualenvwrapper,它自带virtualenvwrapper,而且提供了完整的命令来对虚拟环境进行操作 windows如下配置
pip install virtualenvwrapper #安装
pip list #查看pip安装的包
virtualenv (15.0.3)
virtualenv-clone (0.2.6)
virtualenvwrapper (4.7.2)
在创建虚拟环境之前先设置环境变量,直接在系统变量中添加
python --version #查看python版本
Python 2.7.12
mkvirtualenv env27 #创建python2.7环境
New python executable in F:\python\env27\Scr
Installing setuptools, pip, wheel...done.
(env27) C:\Users\weidd> #创建完成之后会自动切换到创建的环境
python --version #查看虚拟环境的python版本
Python 2.7.12
deactivate #退出虚拟环境
mkvirtualenv env27
mkvirtualenv -p C:\Users\weidd\AppData\Local\Programs\Python\Pyth
on35\python.exe env35 #创建指定python版本的环境
Running virtualenv with interpreter C:\Users\weidd\AppData\Local\Programs\Python
\Python35\python.exe
Using base prefix 'C:\\Users\\weidd\\AppData\\Local\\Programs\\Python\\Python35'
New python executable in F:\python\env35\Scripts\python.exe
Installing setuptools, pip, wheel...done.
python --version
Python 3.5.2
deactivate #退出虚拟环境
workon #查看虚拟环境列表
Pass a name to activate one of the following virtualenvs:
===========================================================
env27
env35
rmvirtualenv env35 #删除env35
workon env27 #切换至env27
为了方便测试,我们最终还是创建上面两个环境,创建aa.py
import platform
print (platform.python_version()) #打印python版本
print ("hello world")
执行aa.py
F:\python\env35\Scripts\python aa.py #使用env35环境中的python
3.5.2
hello world
F:\python\env27\Scripts\python aa.py #使用env27环境中的python
2.7.12
hello world
mac配置如下
sudo vi /etc/profile
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
source /etc/profile
linux配置如下
mkdir /WORKON_HOME
chmod 777 /WORKON_HOME
vi ~/.bashrc
export WORKON_HOME=/WORKON_HOME
source /usr/bin/virtualenvwrapper.sh
source ~/.bashrc