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