virtualenv的使用及pip常用指令
一、virtualenv
1、用途:
virtualenv------用來建立一個虛拟的python環境,一個專屬于項目的python環境。用virtualenv 來保持一個幹淨的環境非常有用。
例如當你想建立一個爬蟲項目的時候,可能會用到request, urlib,beatuifulsoup解析等第三方包。但是又想做網站建設時,可能會用到其他的第三方庫如whoosh做全文檢索,django或flask等架構搭建網站,這是如果你的計算機上隻有一個python環境就會十分頭疼,因為這個環境會安裝全部的第三方庫。這雖然能夠正常運作你的項目,但是做一個單獨的項目需要的是一個純淨的專屬于這個項目的環境。這樣做能夠避免很多版本不同和依賴上出現的問題。
2、基本使用
- pip安裝:
pip install virtualenv
- 測試安裝是否成功及檢查版本:
virtualenv --version
- 進入項目工作目錄:
cd my_project
- 建立虛拟環境 :
virtualenv my_project_env
- 指定python解釋器建立虛拟環境(如果計算機中有多個Python解釋器):
建立虛拟環境的過程會等待一段時間,因為需要拷貝一些必要的檔案到虛拟環境工作目錄,不過已經安裝到系統Python環境中的所有第三方包都不會複制過來,這才會有純淨的虛拟環境。virtualenv -p /usr/bin/python2.7 my_project_env
- 激活虛拟環境:
source my_project_env/bin/activate
- 停止虛拟環境:
deactivate
二、virtualenvwrapper
1、用途
提供了一系列指令使得和虛拟環境工作變得愉快許多。它把您所有的虛拟環境都放在一個地方。
- 将您的所有虛拟環境在一個地方。
- 包裝用于管理虛拟環境(建立,删除,複制)。
-
使用一個指令來環境之間進行切換。
也就是說virtualenvwrapper提供了一個更好的管理多個虛拟環境的方式,但是如果你隻是打開别人的項目使用的話(如從github下載下傳),僅使用virtualenv就夠了。
2、安裝:
pip install virtualenvwrapper
export WORKON_HOME=~/Envs #設定環境變量
mkdir -p $WORKON_HOME #建立虛拟環境管理目錄
find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路徑
source 路徑 #激活virtualenvwrapper.sh
預設virtualenvwrapper安裝在下面python解釋器中的site-packages,實際上需要運作virtualenvwrapper.sh檔案才行;是以需要先進行配置一下:
- 找到virtualenvwrapper.sh的路徑:
find / -name virtualenvwrapper.sh
- 運作virtualenvwrapper.sh檔案:
source 路徑
ps:每次要想使用virtualenvwrapper 工具時,都必須先激活virtualenvwrapper.sh,另外,如果建立前要将即将的環境儲存到Envs中,就要先設定一下環境變量:export WORKON_HOME=~/Envs,再搭建。
如果是window使用者更加簡單:使用 virtualenvwrapper-win 。
安裝:
在Windows中,WORKON_HOME預設的路徑是 %USERPROFILE%Envs 。pip install virtualenvwrapper-win
3、基本使用
- 建立一個虛拟環境:
這會在 ~/Envs 中建立 my_project 檔案夾。mkvirtualenv my_project
-
選擇虛拟環境:
workon my_project
-
建立
或者,您可以建立一個項目,它會建立虛拟環境,并在 $WORKON_HOME 中建立一個項目目錄。 當您使用 workon myproject 時,會 cd -ed 到項目目錄中。
mkproject myproject
-
tab補全
virtualenvwrapper 提供環境名字的tab補全功能。在許多環境下, 使用tab補全很有用。
- 檢視虛拟環境
workon
- 停止虛拟環境:
deactivate
- 删除虛拟環境:
rmvirtualenv my_project
4、其他
lsvirtualenv #列舉所有的環境。
cdvirtualenv #導航到目前激活的虛拟環境的目錄中,比如說這樣您就能夠浏覽它的 site-packages。
cdsitepackages # 和上面的類似,但是是直接進入到 site-packages 目錄中。
lssitepackages #顯示 site-packages 目錄中的内容。
三、pip
- 更新pip
pip install -U pip
- 列出已安裝的包
pip freeze or pip list
- 導出目前環境安裝包名到requirements.txt
pip freeze > requirements.txt
- 線上安裝(在安裝的時候也可以指定版本,通過使用== >= <= > <來指定版本)
pip install <包名> 或 pip install -r requirements.txt
- 安裝本地安裝包
pip install <目錄>/<檔案名>
- 解除安裝包
pip uninstall <包名> 或 pip uninstall -r requirements.txt
- 更新包
pip install -U <包名>或:pip install <包名> --upgrade
- 顯示包所在的目錄
pip show -f <包名>
- 搜尋包
pip search <搜尋關鍵字>
- 查詢可更新的包
pip list -o
- 下載下傳包而不安裝
pip install <包名> -d <目錄> 或 pip install -d <目錄> -r requirements.txt
- 打包
pip wheel <包名>