在Ubuntu中創(chuàng)建python開發(fā)虛擬環(huán)境

virtualenv創(chuàng)建相對獨立的Python 虛擬環(huán)境拼窥,對于項目的依賴、版本的控制有著非常重要的作用叹洲。

打個比喻柠硕,現(xiàn)在有一個 Django 項目,使用的 Django 版本是1.8,但是系統(tǒng)的 Django 版本已經(jīng)是更加新的1.11蝗柔,如果使用系統(tǒng)的環(huán)境來運行項目闻葵,可能導(dǎo)致很多不兼容,于是癣丧,這個問題就可以使用一個虛擬環(huán)境來解決槽畔,使用 virtualenv 來創(chuàng)建一個只給這個項目運行的開發(fā)環(huán)境,既可以保證項目的正常運行胁编,也方便了之后移植項目厢钧。

?1. virtualenv 的安裝和使用

(1) 安裝 virtualenv 安裝 virtualenv 跟安裝一般的 Python 庫是一樣的操作,直接使用 pip 命令就行了: pip install virtualenv 安裝完成之后就可以使用 virtualenv 的命令來創(chuàng)建虛擬環(huán)境了: virtualenv new_env 可以看到類似如下的結(jié)果: New python executable in /home/kakyoku/Desktop/DjangoDev/django_py3/bin/python Installing setuptools, pip, wheel... done.

(2) 使用 virtualenv 在 Linux 上進入虛擬環(huán)境嬉橙,直接輸入以下命令就可以進入虛擬環(huán)境: $source new_env/bin/activate 同樣可以看到類似如下的結(jié)果: (new_env)joyitsai@VirtualBox:~/www/envs$ 說明已經(jīng)進入了虛擬環(huán)境坏快。

2. 使用 virtualenvwrapper管理環(huán)境 virtualenvwrapper 是一個 virtualenv 虛擬環(huán)境的管理庫,這個庫可以更加方便的管理所有的虛擬環(huán)境憎夷。

?Linux 上安裝環(huán)境

?1莽鸿、使用pip命令安裝,如果系統(tǒng)上面有兩個版本的 Python(一般默認(rèn)是2.7和3.52兩個版本)拾给,那么要看虛擬環(huán)境要什么默認(rèn) Python 版本了祥得,比如要使用3.52的版本作為虛擬環(huán)境的 Python 版本,那么就應(yīng)該使用如下命令: pip3 install virtualenvwrapper

?2蒋得、我們可以接著創(chuàng)建一個文件夾來存放虛擬環(huán)境级及,如: $ mkdir $HOME/.virtualenvs

3、接著需要配置環(huán)境變量文件额衙。首先修改(文件不存在就創(chuàng)建)文件~/.bashrc饮焦,然后添加如下語句: export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh

4、讓.bashrc配置生效窍侧,執(zhí)行: source ~/.bashrc 如果沒有報錯县踢,那么說明配置完成了,可以使用命令看看是否可以使用: mkvirtualenv new_env

5伟件、報錯的解決方案

?(1) 如果上述操作報錯了硼啤,那么應(yīng)該是你的 Linux 上面有兩個版本的 Python,比如我的就報錯了斧账,我的上面有一個2.7的和一個3.5的版本谴返。

?(2) 如果報錯如下提示: /usr/local/bin/virtualenvwrapper.sh: No such file or directory 則說明這個文件不存在,可以使用find命令來查找正確的位置: find / -name "virtualenvwrapper.sh" 比如我因為是在3.5版本的 Python 中安裝的virtualenvwrapper咧织,所以發(fā)現(xiàn)這個.sh文件在這個地址中 /home/joyitsai/.local/bin/virtualenvwrapper.sh 所以上面的文件中的最后一個語句改成 source /home/joyitsai/.local/bin/virtualenvwrapper.sh 改完這個地方應(yīng)該還是會報錯嗓袱,大概是在說沒有安裝這個虛擬環(huán)境庫,就像這樣 /usr/bin/python: No module named virtualenvwrapper 之所以報錯這個是因為我用的3.5版本安裝的這個環(huán)境习绢,系統(tǒng)的2.7版本是沒有的渠抹,所以還需要添加一個語句: export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 其中表明了 python3 的位置,當(dāng)然,這個位置需要你自己查看自己的系統(tǒng)上面安裝的位置逼肯,查看方式可以使用: which python3 沒有報錯就說明環(huán)境設(shè)置好了,現(xiàn)在可以開始使用環(huán)境了桃煎。

?6篮幢、virtualenvwrapper 命令 創(chuàng)建虛擬環(huán)境:mkvirtualenv new_env

使用虛擬環(huán)境:workon new_env

退出虛擬環(huán)境:deactivate

刪除虛擬環(huán)境: rmvirtualenv new_env

查看所有虛擬環(huán)境:lsvirtualenv

3. requirements.txt 文件的操作

?1、生成文件 在虛擬環(huán)境中使用以下命令可以生成一個虛擬環(huán)境的安裝包版本文件 (venv) $ pip freeze > requirements.txt 需要注意的地方: ?指定生成文件的目錄 ?文件生成之后为迈,有時候需要調(diào)整安裝包的順序三椿,例如一個安裝包是依賴另一個的,則需要把依賴包放在靠前的位置 ?如果想安裝某個包的最新版葫辐,則把==及后面的版本信息刪除即可

2搜锰、復(fù)制環(huán)境 首先新建一個虛擬環(huán)境白魂,然后把當(dāng)前位置切換到需求文件所在目錄下送膳,然后在新建的虛擬環(huán)境中運行以下命令就可以安裝需求文件中所有的依賴庫茂洒,相當(dāng)于復(fù)制了一個虛擬環(huán)境揩页。 (venv) $ pip install -r requirements.txt 當(dāng)然径玖,如果不把當(dāng)前目錄切換到需求文件所在目錄也是可以安裝需求文件的依賴的榕茧,但是要指明需求文件的絕對地址奴紧,例如: (venv) $ pip install -r > /Path/requirements.txt

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涯鲁,一起剝皮案震驚了整個濱河市鸭栖,隨后出現(xiàn)的幾起案子歌馍,更是在濱河造成了極大的恐慌,老刑警劉巖晕鹊,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件松却,死亡現(xiàn)場離奇詭異,居然都是意外死亡溅话,警方通過查閱死者的電腦和手機晓锻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來飞几,“玉大人带射,你說我怎么就攤上這事⊙” “怎么了窟社?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長绪钥。 經(jīng)常有香客問我灿里,道長,這世上最難降的妖魔是什么程腹? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任匣吊,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘色鸳。我一直安慰自己社痛,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布命雀。 她就那樣靜靜地躺著蒜哀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吏砂。 梳的紋絲不亂的頭發(fā)上撵儿,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音狐血,去河邊找鬼淀歇。 笑死,一個胖子當(dāng)著我的面吹牛匈织,可吹牛的內(nèi)容都是我干的浪默。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼缀匕,長吁一口氣:“原來是場噩夢啊……” “哼浴鸿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弦追,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岳链,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后劲件,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掸哑,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年零远,在試婚紗的時候發(fā)現(xiàn)自己被綠了苗分。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡牵辣,死狀恐怖摔癣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纬向,我是刑警寧澤择浊,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站逾条,受9級特大地震影響琢岩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜师脂,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一担孔、第九天 我趴在偏房一處隱蔽的房頂上張望江锨。 院中可真熱鬧,春花似錦糕篇、人聲如沸啄育。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挑豌。三九已至,卻和暖如春拼坎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背完疫。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工泰鸡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人壳鹤。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓盛龄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芳誓。 傳聞我的和親對象是個殘疾皇子余舶,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

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