python虛擬環(huán)境virtualenvwrapper

上一篇:python虛擬環(huán)境virtualenv
http://www.itdecent.cn/p/e17263be54ea

virtualenv 的一個(gè)最大的缺點(diǎn)就是,每次開啟虛擬環(huán)境之前要去虛擬環(huán)境所在目錄下的 bin 目錄下 source 一下 activate,這就需要我們記住每個(gè)虛擬環(huán)境所在的目錄。

Virtaulenvwrapper是virtualenv的擴(kuò)展包,用于更方便管理虛擬環(huán)境,它可以做:

  • 將所有虛擬環(huán)境組織在一個(gè)目錄下
  • 管理(新增,刪除,復(fù)制)虛擬環(huán)境
  • 更方便的在不同的虛擬環(huán)境下進(jìn)行切換
  • 用戶可以為所有的命令操作自定義hooks (詳見官網(wǎng) Per-User Customization)

一、安裝及配置Virtaulenvwrapper

1、安裝virtualenvwrapper

pip install virtualenvwrapper

2、配置 virtualenvwrapper

它需要指定一個(gè)環(huán)境變量,叫做 WORKON_HOME,并且需要運(yùn)行一下它的初始化工具virtualenvwrapper.sh,這個(gè)腳本在/usr/local/bin/ 目錄下。

WORKON_HOME 就是它將要用來存放各種虛擬環(huán)境目錄的目錄,這里可以設(shè)置為~/.virtualenvs

$ export WORKON_HOME='~/.virtualenvs'
$ source /usr/local/bin/virtualenvwrapper.sh

由于每次都需要執(zhí)行這兩步操作,所以可以將其寫入終端的配置文件中。例如,如果使用 bash,則添加到~/.bashrc 中;如果使用zsh,則添加到 ~/.zshrc 中。這樣每次啟動(dòng)終端的時(shí)候都會(huì)自動(dòng)運(yùn)行,終端啟動(dòng)之后就可以用 virtualenvwrapper。

二、使用virtualenvwrapper

1、mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] ENVNAME
  • The -a option can be used to associate an existing project directory with the new environment.
    將一個(gè)虛擬環(huán)境與一個(gè)項(xiàng)目綁定,每次workon 虛擬環(huán)境,直接進(jìn)入工程目錄,在工程目錄下工作
  • The -i option can be used to install one or more packages (by repeating the option) after the environment is created.
  • The -r option can be used to specify a text file listing packages to be installed. The argument value is passed to pip -r to be installed.
2、使用虛擬環(huán)境

如果我們平時(shí)想要進(jìn)入某個(gè)虛擬環(huán)境,可以用下面的命令。
workon 虛擬環(huán)境名稱
例如:workon spider
workon功能:

  • workon [虛擬環(huán)境名稱]
    在不同虛擬環(huán)境中自由切換
  • workon
    列出在$HOME/.virtualenvs下安裝的虛擬環(huán)境列表
3、離開虛擬環(huán)境
$ deactivate
4、刪除虛擬環(huán)境
$ rmvirtualenv venvname
5、列出使用mkvirtualenv安裝的虛擬環(huán)境列表

workon 或者lsvirtualenv

6、控制環(huán)境是否使用global site-packages, 切換是否使用global site-packages

toggleglobalsitepackages

7、復(fù)制虛擬環(huán)境
$ cpvirtualenv [source] [dest]
$ cpvirtualenv env1 env3
8、在WORKON_HOME目錄下安裝的全部虛擬環(huán)境上運(yùn)行命令

allvirtualenv command with arguments

$ allvirtualenv pip install -U pip
9、mktmpenv

創(chuàng)建一個(gè)臨時(shí)環(huán)境,當(dāng)deactivate時(shí),環(huán)境被刪除

10、showvirtualenv [env]

Show the details for a single virtualenv.

11、cdvirtualenv [subdir]

此時(shí)在一個(gè)虛擬環(huán)境中,改變當(dāng)前工作目錄到該虛擬環(huán)境所在目錄,如果后面加subdir,則直接進(jìn)入虛擬環(huán)境下的子目錄。

12、cdsitepackages [subdir]

改變當(dāng)前工作目錄到 site-packages for $VIRTUAL_ENV.

13、lssitepackages

列出當(dāng)前激活的虛擬環(huán)境site-packages中的文件及子目錄

14、mkproject
mkproject [-f|--force] [-t template] [virtualenv_options] ENVNAME

創(chuàng)建一個(gè)新的虛擬環(huán)境在WORKON_HOME 和工程目錄在PROJECT_HOME,工程目錄與虛擬環(huán)境綁定,每次workon ENVNAME 直接使用python虛擬環(huán)境在項(xiàng)目目錄下工作

-f, --force Create the virtualenv even if the project directory already exists
15、setvirtualenvproject [virtualenv_path project_path]

將一個(gè)已經(jīng)存在的虛擬環(huán)境和已經(jīng)存在的工程綁定,每次workon ENVNAME 直接使用python虛擬環(huán)境在綁定項(xiàng)目目錄下工作

16、cdproject

改變當(dāng)前工作目錄到一個(gè)具體的工程目錄 for the active virtualenv.

17、wipeenv

刪除當(dāng)前虛擬環(huán)境中安裝的所有的第三方包

18、virtualenvwrapper

打印virtualenvwrapper支持的命令和命令描述作為簡單的幫助文檔

注:

  • 版本支持Python 2.6-3.4.
  • virtualenvwrapper should be installed into the same global site-packages area where virtualenv is installed.

三、配置

可以通過配置環(huán)境變量來配置vitrualenvwrapper
1、PROJECT_HOME
PROJECT_HOME指定了使用mkproject創(chuàng)建的項(xiàng)目目錄的位置。
The variable must be set and the directory created before mkproject is used.

2、VIRTUALENVWRAPPER_HOOK_DIR
指定用戶自定義的hooks存放目錄,默認(rèn)是 $WORKON_HOME

3、VIRTUALENVWRAPPER_LOG_FILE
tells virtualenvwrapper where the logs for the hook loader should be written.默認(rèn)不輸出來自hooks的日志

4、VIRTUALENVWRAPPER_WORKON_CD
VIRTUALENVWRAPPER_WORKON_C默認(rèn)值為1,在使用mkproject projectname創(chuàng)建虛擬環(huán)境及工程目錄后,workon projectname默認(rèn)會(huì)自動(dòng)切換項(xiàng)目目錄;若將環(huán)境變量VIRTUALENVWRAPPER_WORKON_CD設(shè)置為0,則workon projectname不會(huì)進(jìn)入到工程目錄,只激活虛擬環(huán)境。

注:
1、使用python和virtualenv:
During startup, virtualenvwrapper.sh finds the first python and virtualenv programs on the $PATH and remembers them to use later.
因此,確保在shell腳本配置文件中export PATH=/usr/local/bin:$PATH
在source /usr/local/bin/virtualenvwrapper.sh之前

如果不想在path中尋找,set the variable VIRTUALENVWRAPPER_PYTHON to the full path of the interpreter to use and VIRTUALENVWRAPPER_VIRTUALENV to the full path of the virtualenv binary to use. Both variables must be set before sourcing virtualenvwrapper.sh

2、產(chǎn)生的臨時(shí)文件位置:
virtualenvwrapper creates temporary files in $TMPDIR. If the variable is not set, it uses /tmp. To change the location of temporary files just for virtualenvwrapper, set VIRTUALENVWRAPPER_TMPDIR.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 確保你已經(jīng)有了 python 和 pip在您進(jìn)一步之前,請(qǐng)確保您有 Python,并且可從您的命令行中獲得。 你可...
    yiangdea閱讀 1,325評(píng)論 0 1
  • 原文鏈接:www.cnblogs.com/cheungjustin/archive/2011/12/08/2281...
    sn_msw閱讀 998評(píng)論 0 0
  • 一、使用虛擬環(huán)境的原因 在使用python開發(fā)的過程中,工程一多,難免會(huì)碰到不同的工程依賴不同版本的庫的問題;亦或...
    kaley_ma閱讀 12,393評(píng)論 5 15
  • 一、virtualenv 虛擬環(huán)境安裝 ?? virtualenv 工具可以用來在 Linux 操作系統(tǒng)中創(chuàng)建一個(gè)...
    常大鵬閱讀 16,619評(píng)論 0 15
  • 塊級(jí)元素和行內(nèi)元素的區(qū)別 1.塊級(jí)元素獨(dú)占一行,默認(rèn)情況下,其寬度自動(dòng)填滿其父元素寬度;而行內(nèi)元素不會(huì)獨(dú)占一行,相...
    azure_1122閱讀 505評(píng)論 0 0

友情鏈接更多精彩內(nèi)容