python開發環境管理:pip和virtualenv
不同的python軟件需要不同的開發環境,互相之間甚至可能有衝突,怎麼處理?使用pip、virtualenv和virtualenvwrapper可以迅速的搭建、轉移開發環境,並隔離衝突。
軟件包管理
- pip是easy_install的替代品,distribute是setuptools的替代品
pip使用
- 使用參考文檔爲:pip
pip install test
安裝test包pip list
列出已經安裝的包pip install --upgrade test
升級test包pip uninstall test
卸載pip install test==4.4
指定版本pip install test>=4.4
指定最小版本號pip freeze > requirements.txt
到處當前python環境的依賴庫要求pip install -r requirements.txt
根據依賴文件安裝庫
virtualenv
- virtualenv是用來創建獨立python運行環境的工具
- 可以創建單獨的安裝目錄,解決了依賴項、版本和權限的問題。比如pip不需要sudo了
創建虛擬環境
virtualenv test
- 命令將在當前目前下建立一個名爲test的文件夾
- 此文件夾下python環境會自動安裝pip,方便安裝其他程序
- 默認將能使用系統中已經安裝的包,可以使用
--no-site-packages
禁止
啓動虛擬環境
source test/bin/activate
- 啓動之後,可以看到命令行頭部出現
(test)
字樣,表明啓動成功
退出
deactivate
用於退出虛擬環境rm -r test
用於刪除虛擬環境
virtualenvwrapper
- virtualenvwrapper是virtualenv的一個擴展,使虛擬環境的管理更加容易
- 參考文檔virtualenvwrapper
安裝
-
使用
sudo pip install
之後使用以下命令設置開發環境,可以將最後一行加入.bash_profile
,以後就無需重複初始化了$ mkdir -p $WORKON_HOME $ export WORKON_HOME=~/Envs $ source /usr/local/bin/virtualenvwrapper.sh
-
方便起見,直接將以下代碼加入
.bashrc
,因爲有些環境下.bash_profile
不會被執行# 設置virtualenv 工作的目錄. 我們放在用戶跟目錄下 export WORKON_HOME=$HOME/.virtualenvs # ensure all new environments are isolated from the site-packages directory export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # use the same directory for virtualenvs as virtualenvwrapper export PIP_VIRTUALENV_BASE=$WORKON_HOME # makes pip detect an active virtualenv and install to it export PIP_RESPECT_VIRTUALENV=true if [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; then source /usr/local/bin/virtualenvwrapper.sh else echo "WARNING: Can't find virtualenvwrapper.sh" fi
常用命令
mkvirtualenv test
創建名爲test的虛擬環境workon
或者lsvirtualenv
列出所有虛擬環境workon test
啓動或者切換虛擬環境rmvirtualenv test
刪除虛擬環境deactivate
退出