virtualenv能够隔离python环境,好比咱们A项目使用python2.7,B项目使用python3.4,C项目使用python3.6,并且各个项目之间依赖的包也各不相同,若是不能把它们隔离,很难运行在同一台服务器上,有了virtualenv,迎刃而解,因为virtualenv比较零散,我推荐直接使用virtualenvwrapper,它自带virtualenvwrapper,并且提供了完整的命令来对虚拟环境进行操做 windows以下配置python
pip install virtualenvwrapper #安装 pip list #查看pip安装的包 virtualenv (15.0.3) virtualenv-clone (0.2.6) virtualenvwrapper (4.7.2)
在建立虚拟环境以前先设置环境变量,直接在系统变量中添加linux
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.pywindows
import platform print (platform.python_version()) #打印python版本 print ("hello world")
执行aa.pybash
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配置以下app
mkdir /WORKON_HOME chmod 777 /WORKON_HOME vi ~/.bashrc export WORKON_HOME=/WORKON_HOME source /usr/bin/virtualenvwrapper.sh source ~/.bashrc