進行不一樣的 python 項目開發,有的時候會遇到這樣的狀況:python 版本不同,使用的軟件包版本不同。這種問題最佳的解決辦法是使用 virtualenv 爲不一樣的項目搭建獨立的 python 環境。python
sudo pip install virtualenv
mkdir myproject cd myproject virtualenv myproject_ENV
建立項目文件夾 myproject
bash
進入項目目錄app
建立虛擬環境 myproject_ENV
命令行
這時候會發如今 myproject
目錄下新增了一個 myproject_ENV
的文件夾。code
cd myproject_ENV source ./bin/activate
進入虛擬環境目錄 myproject_ENV
ip
激活開發
這時候在命令行的最左邊會顯示該虛擬環境的名稱。不妨使用下面的命令查看一下變化:get
which python which pip pip list
若是想要退出虛擬環境,使用這個命令就能夠了:it
deactivate
Virtualenvwrapper 的做用是:更方便的建立/激活/管理/銷燬虛擬環境。pip
sudo pip install virtualenvwrapper
默認安裝完成後並不能使用 Virtualenvwrapper 的命令,須要進行配置,在 ~/.bashrc
文件中添加:
if [ `id -u` != '0' ]; then export VIRTUALENV_USE_DISTRIBUTE=1 # <-- Always use pip/distribute export WORKON_HOME=$HOME/.virtualenvs # <-- Where all virtualenvs will be stored source /usr/local/bin/virtualenvwrapper.sh export PIP_VIRTUALENV_BASE=$WORKON_HOME export PIP_RESPECT_VIRTUALENV=true fi
以後運行命令:
source ~/.bashrc
mkvirtualenv myproject_ENV # 建立虛擬環境 myproject_ENV workon myproject_ENV # 激活 myproject_ENV deactivate # 離開 rmvirtualenv myproject_ENV # 刪除 myproject_ENV lsvirtualenv # 虛擬環境列表
showvirtualenv [env] # 顯示指定環境的詳情。 rmvirtualenv [env] # 移除指定的虛擬環境,移除的前提是當前沒有在該環境中工做。如在該環境工做,先使用deactivate退出。 cpvirtualenv [source] [dest] # 複製一份虛擬環境。 cdvirtualenv [subdir] # 把當前工做目錄設置爲所在的環境目錄。 cdsitepackages [subdir] # 把當前工做目錄設置爲所在環境的sitepackages路徑。 add2virtualenv [dir] [dir] # 把指定的目錄加入當前使用的環境的path中,這常使用於在多個project裏面同時使用一個較大的庫的狀況。 toggleglobalsitepackages -q # 控制當前的環境是否使用全局的sitepackages目錄。
virtualenv documentation: https://virtualenv.pypa.io/en/latest/
virtualenvwrapper documentation: http://virtualenvwrapper.readthedocs.org/en/latest/