Win10下Python虛擬環(huán)境virtualenv安裝和使用

1.virtualenv介紹

在python開(kāi)發(fā)中在抛,我們可能會(huì)遇到一種情況满着,就是當(dāng)前的項(xiàng)目依賴的是某一個(gè)版本蟹地,但是另一個(gè)項(xiàng)目依賴的是另一個(gè)版本,這樣就會(huì)造成依賴沖突或悲,而virtualenv就是解決這種情況的孙咪,virtualenv通過(guò)創(chuàng)建一個(gè)虛擬化的python運(yùn)行環(huán)境,將我們所需的依賴安裝進(jìn)去的巡语,不同項(xiàng)目之間相互不干擾翎蹈,如下所示。

2男公、安裝virtualenv

若要使用python虛擬環(huán)境進(jìn)行開(kāi)發(fā)荤堪,首先需要安裝virtualenv。

命令:pip install virtualenv

3理澎、創(chuàng)建虛擬環(huán)境

命令:virtualenv venv

如果要?jiǎng)?chuàng)建python2的環(huán)境的話逞力,命令為

virtualenv -p /usr/bin/python2.7 env2.7

如果要?jiǎng)?chuàng)建python3的環(huán)境話,命令為

virtualenv -p /usr/bin/python3.5 env3.5

windows如下:

virtualenv -p C:\Users\WJ\AppData\Local\Programs\Python\Python36\python.exe env3.6

如果要?jiǎng)?chuàng)建一個(gè)不帶已經(jīng)安裝到系統(tǒng)的中第三方包的環(huán)境糠爬,可以加上參數(shù) --no-site-packages寇荧,這樣就可以得到一個(gè)不帶任何第三方包的干凈的python運(yùn)行環(huán)境

命令為

virtualenv --no-site-packages myenv

4、激活虛擬環(huán)境

命令:venv\scripts\activate

注:如無(wú)法激活执隧,直接進(jìn)入到activate所在目錄揩抡,使用.\activate激活

5、查看所有虛擬環(huán)境和啟動(dòng)虛擬環(huán)境

lsvirtualenv

workon

workon env

6镀琉、退出虛擬環(huán)境

deactivate

將指定路徑添加到sitepackages目錄下的virtualenv_path_extensions.pth中可以直接進(jìn)行import峦嗤,在啟動(dòng)虛擬環(huán)境時(shí)則添加到虛擬環(huán)境中,在未啟動(dòng)則添加到默認(rèn)python環(huán)境中

add2virtualenv path

7屋摔、其他命令

cdproject: 切換目錄到當(dāng)前指定的project目錄下, 使用前需要使用setprojectdir進(jìn)行設(shè)置

cdvirtualenv: 切換到當(dāng)前虛擬環(huán)境目錄下

cdsitepackages: 切換到當(dāng)前虛擬環(huán)境的sitepackages下

lssitepackages: 查看當(dāng)前虛擬環(huán)境的sitepackages目錄下的包

setprojectdir path: 設(shè)置project目錄

toggleglobalsitepackages:?jiǎn)⒂?關(guān)閉系統(tǒng)sitepackages

whereis file:查看文件路徑

$ virtualenv [OPTIONS] DEST_DIR

選項(xiàng):

–version 顯示當(dāng)前版本號(hào)烁设。

-h, –help 顯示幫助信息。

-v, –verbose 顯示詳細(xì)信息钓试。

-q, –quiet 不顯示詳細(xì)信息装黑。

-p PYTHON_EXE, –python=PYTHON_EXE 指定所用的python解析器的版本副瀑,比如 –python=python2.5 就使用2.5版本的解析器創(chuàng)建新的隔離環(huán)境。 默認(rèn)使用的是當(dāng)前系統(tǒng)安裝(/usr/bin/python)的python解析器

–clear 清空非root用戶的安裝恋谭,并重頭開(kāi)始創(chuàng)建隔離環(huán)境糠睡。

–no-site-packages 令隔離環(huán)境不能訪問(wèn)系統(tǒng)全局的site-packages目錄。

–system-site-packages 令隔離環(huán)境可以訪問(wèn)系統(tǒng)全局的site-packages目錄疚颊。

–unzip-setuptools 安裝時(shí)解壓Setuptools或Distribute

–relocatable 重定位某個(gè)已存在的隔離環(huán)境狈孔。使用該選項(xiàng)將修正腳本并令所有.pth文件使用相當(dāng)路徑。

–distribute 使用Distribute代替Setuptools材义,也可設(shè)置環(huán)境變量VIRTUALENV_DISTRIBUTE達(dá)到同樣效要均抽。

–extra-search-dir=SEARCH_DIRS 用于查找setuptools/distribute/pip發(fā)布包的目錄∧附兀可以添加任意數(shù)量的–extra-search-dir路徑到忽。

–never-download 禁止從網(wǎng)上下載任何數(shù)據(jù)橄教。此時(shí)清寇,如果在本地搜索發(fā)布包失敗,virtualenv就會(huì)報(bào)錯(cuò)护蝶。

–prompt==PROMPT 定義隔離環(huán)境的命令行前綴华烟。

8、Win10下提示權(quán)限錯(cuò)誤

錯(cuò)誤信息:

.\activate : 無(wú)法加載文件 H:\envproject\venv\Scripts\activate.ps1持灰,因?yàn)樵诖讼到y(tǒng)上禁止運(yùn)行腳本盔夜。有關(guān)詳細(xì)信息,請(qǐng)參閱 htt

ps:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies堤魁。

所在位置 行:1 字符: 1

解決辦法:

1.以管理員身份打開(kāi)PowerShell

2.執(zhí)行命令set-executionpolicy remotesigned

9喂链、使用pycharm創(chuàng)建虛擬化環(huán)境

來(lái)作為本示例的編輯器,選擇python2.7工作環(huán)境妥泉,新建工程virtualenvDemo,在控制臺(tái)中輸入命令:

virtualenv venv

這時(shí)候便會(huì)在當(dāng)前的項(xiàng)目中創(chuàng)建venv文件夾椭微,為當(dāng)前項(xiàng)目的虛擬python運(yùn)行環(huán)境,如下:

本機(jī)此時(shí)默認(rèn)的python環(huán)境為python2.7盲链,那么此時(shí)創(chuàng)建的虛擬環(huán)境就是以python2.7創(chuàng)建的虛擬化環(huán)境蝇率,如果需要選擇一個(gè)python解釋器來(lái)創(chuàng)建虛擬化環(huán)境,命令則為:

virtualenv -p /usr/bin/python2.7 venv

此時(shí)還需將當(dāng)前工程的interpreter改為當(dāng)前的虛擬環(huán)境刽沾,要不然會(huì)不起作用本慕,這個(gè)不再詳述。

啟用

激活虛擬化環(huán)境的命令為:

source venv/bin/activate

激活后侧漓,在控制臺(tái)會(huì)有一個(gè)帶有(venv)的標(biāo)志锅尘。

安裝依賴

在以上完成之后就可以通過(guò)命令pip install 來(lái)安裝python包了,這里安裝python包就不需要root權(quán)限了布蔗,直接就可以安裝十分方便藤违。在venv的環(huán)境中忙菠,使用pip安裝的包都不會(huì)再是全局性的包,只會(huì)在當(dāng)前的虛擬環(huán)境中起作用纺弊,避免了污染系統(tǒng)環(huán)境牛欢。

退出當(dāng)前系統(tǒng)環(huán)境

在控制臺(tái)中輸入命令deactivate后,就會(huì)推出當(dāng)前的venv虛擬化環(huán)境淆游。

(.virtualenv) # deactivate

# exit

10傍睹、ansible案例

安裝必要的ansible依賴包

# pip install paramiko PyYAML jinja2

# cd ansible

# git submodule update --init lib/ansible/modules/core

# git submodule update --init lib/ansible/modules/extras

加載ansible2.1

Tip: env-setup 是 ansible 為 hacker 準(zhǔn)備的一個(gè)腳本,用來(lái)設(shè)置一些ansible所需的環(huán)境變量

# . /home/deploy/.virtualenv/ansible/hacking/env-setup -q

$ ansible --version

ansible 2.1.0 (devel 6ddea3e915) last updated 2016/02/16 16:13:32 (GMT +800)

? lib/ansible/modules/core: (detached HEAD 8d126bd877) last updated 2016/02/16 16:19:09 (GMT +800)

? lib/ansible/modules/extras: (detached HEAD f6c5ed987f) last updated 2016/02/16 16:19:40 (GMT +800)

? config file = /etc/ansible/ansible.cfg

? configured module search path = Default w/o overrides

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末犹菱,一起剝皮案震驚了整個(gè)濱河市拾稳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腊脱,老刑警劉巖访得,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異陕凹,居然都是意外死亡悍抑,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門杜耙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)搜骡,“玉大人,你說(shuō)我怎么就攤上這事佑女〖敲遥” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵团驱,是天一觀的道長(zhǎng)摸吠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)嚎花,這世上最難降的妖魔是什么寸痢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮贩幻,結(jié)果婚禮上轿腺,老公的妹妹穿的比我還像新娘。我一直安慰自己丛楚,他們只是感情好族壳,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著趣些,像睡著了一般仿荆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天拢操,我揣著相機(jī)與錄音锦亦,去河邊找鬼。 笑死令境,一個(gè)胖子當(dāng)著我的面吹牛杠园,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舔庶,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼抛蚁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了惕橙?” 一聲冷哼從身側(cè)響起瞧甩,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎弥鹦,沒(méi)想到半個(gè)月后肚逸,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡彬坏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年朦促,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苍鲜。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡思灰,死狀恐怖玷犹,靈堂內(nèi)的尸體忽然破棺而出混滔,到底是詐尸還是另有隱情,我是刑警寧澤歹颓,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布坯屿,位于F島的核電站,受9級(jí)特大地震影響巍扛,放射性物質(zhì)發(fā)生泄漏领跛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一撤奸、第九天 我趴在偏房一處隱蔽的房頂上張望吠昭。 院中可真熱鬧,春花似錦胧瓜、人聲如沸矢棚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蒲肋。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兜粘,已是汗流浹背申窘。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孔轴,地道東北人剃法。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像路鹰,于是被迫代替她去往敵國(guó)和親玄窝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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