python虛擬環(huán)境virtualenvwrapper

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

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

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

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

一、安裝及配置Virtaulenvwrapper

1兰迫、安裝virtualenvwrapper

pip install virtualenvwrapper

2信殊、配置 virtualenvwrapper

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

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

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

由于每次都需要執(zhí)行這兩步操作,所以可以將其寫入終端的配置文件中棘利。例如橱野,如果使用 bash,則添加到~/.bashrc 中善玫;如果使用zsh水援,則添加到 ~/.zshrc 中。這樣每次啟動終端的時候都會自動運行蝌焚,終端啟動之后就可以用 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.
    將一個虛擬環(huán)境與一個項目綁定,每次workon 虛擬環(huá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)境

如果我們平時想要進入某個虛擬環(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、復制虛擬環(huán)境
$ cpvirtualenv [source] [dest]
$ cpvirtualenv env1 env3
8银舱、在WORKON_HOME目錄下安裝的全部虛擬環(huán)境上運行命令

allvirtualenv command with arguments

$ allvirtualenv pip install -U pip
9瘪匿、mktmpenv

創(chuàng)建一個臨時環(huán)境,當deactivate時寻馏,環(huán)境被刪除

10棋弥、showvirtualenv [env]

Show the details for a single virtualenv.

11、cdvirtualenv [subdir]

此時在一個虛擬環(huán)境中诚欠,改變當前工作目錄到該虛擬環(huán)境所在目錄顽染,如果后面加subdir,則直接進入虛擬環(huán)境下的子目錄轰绵。

12粉寞、cdsitepackages [subdir]

改變當前工作目錄到 site-packages for $VIRTUAL_ENV.

13、lssitepackages

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

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

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

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

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

16、cdproject

改變當前工作目錄到一個具體的工程目錄 for the active virtualenv.

17蓄愁、wipeenv

刪除當前虛擬環(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)建的項目目錄的位置妇斤。
The variable must be set and the directory created before mkproject is used.

2、VIRTUALENVWRAPPER_HOOK_DIR
指定用戶自定義的hooks存放目錄丹拯,默認是 $WORKON_HOME

3站超、VIRTUALENVWRAPPER_LOG_FILE
tells virtualenvwrapper where the logs for the hook loader should be written.默認不輸出來自hooks的日志

4、VIRTUALENVWRAPPER_WORKON_CD
VIRTUALENVWRAPPER_WORKON_C默認值為1乖酬,在使用mkproject projectname創(chuàng)建虛擬環(huán)境及工程目錄后死相,workon projectname默認會自動切換項目目錄;若將環(huán)境變量VIRTUALENVWRAPPER_WORKON_CD設(shè)置為0咬像,則workon projectname不會進入到工程目錄缘厢,只激活虛擬環(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)生的臨時文件位置:
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)容合作請聯(lián)系作者
  • 序言:七十年代末审洞,一起剝皮案震驚了整個濱河市莱睁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芒澜,老刑警劉巖仰剿,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撰糠,居然都是意外死亡酥馍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門阅酪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旨袒,“玉大人,你說我怎么就攤上這事术辐⊙饩。” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵辉词,是天一觀的道長必孤。 經(jīng)常有香客問我,道長瑞躺,這世上最難降的妖魔是什么敷搪? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮幢哨,結(jié)果婚禮上赡勘,老公的妹妹穿的比我還像新娘。我一直安慰自己捞镰,他們只是感情好闸与,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著岸售,像睡著了一般践樱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凸丸,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天拷邢,我揣著相機與錄音,去河邊找鬼甲雅。 笑死解孙,一個胖子當著我的面吹牛坑填,可吹牛的內(nèi)容都是我干的抛人。 我是一名探鬼主播弛姜,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妖枚!你這毒婦竟也來了廷臼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤绝页,失蹤者是張志新(化名)和其女友劉穎荠商,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體续誉,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡莱没,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了酷鸦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饰躲。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖臼隔,靈堂內(nèi)的尸體忽然破棺而出嘹裂,到底是詐尸還是另有隱情,我是刑警寧澤摔握,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布寄狼,位于F島的核電站,受9級特大地震影響氨淌,放射性物質(zhì)發(fā)生泄漏泊愧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一盛正、第九天 我趴在偏房一處隱蔽的房頂上張望删咱。 院中可真熱鬧,春花似錦蛮艰、人聲如沸腋腮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽即寡。三九已至,卻和暖如春袜刷,著一層夾襖步出監(jiān)牢的瞬間聪富,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工著蟹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留墩蔓,地道東北人梢莽。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像奸披,于是被迫代替她去往敵國和親昏名。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

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