Virtualenv 搭建 Py項(xiàng)目運(yùn)行環(huán)境的教程詳解
小朋友你可能有很多問(wèn)號(hào)~,上一小節(jié)不是已經(jīng)一頓操作猛如虎搭建好 Python + PyCharm 可用開發(fā)環(huán)境了嗎?為什么這節(jié)又來(lái)個(gè)項(xiàng)目運(yùn)行環(huán)境?作者你是不是想搞事情...
Virtualenv 簡(jiǎn)介
淡定,事情是這樣(試圖狡辯):
首先 「 Virtualenv 」 是用于創(chuàng)建隔離的Python環(huán)境的工具。 那為什么需要隔離 不同項(xiàng)目的 Python 環(huán)境呢
由于 Python 被稱為膠水語(yǔ)言,用途相當(dāng)廣泛。導(dǎo)致它的類庫(kù)也五花八門,比如:
- web開發(fā),你需要安裝 Flask,Djanjo...
- 人工智能,你又需要 pytesseract,PIL...
- 數(shù)據(jù)分析,你需要 numpy,Matplotlib...
- 爬蟲工程,你需要 Scrapy,Beautifulsoup...
更不用說(shuō)還有 自動(dòng)化運(yùn)維,自動(dòng)化測(cè)試... 不同使用場(chǎng)景之間使用的類庫(kù)又不同版本要求,而且并不依賴,但Python的包卻只能同時(shí)安裝一個(gè)版本。所以一股腦地使用 pip 把 Python 類庫(kù)都默認(rèn)安裝在 電腦全局環(huán)境上,時(shí)間久了 「 肯定會(huì)出問(wèn)題 」
于是就有了 「 Virtualenv 」 這么一個(gè)為每一個(gè)項(xiàng)目創(chuàng)建一套 「 獨(dú)立隔離 」 的Python運(yùn)行環(huán)境的工具。
清晰明了,安全隔離,并且滿足每個(gè)項(xiàng)目甚至階段。管理不同的Python版本解釋器和不同的類庫(kù)的工具
既然用處這么大,我們趕緊邁出六親不認(rèn)的步伐 —— 學(xué)習(xí)怎么應(yīng)用到實(shí)際開發(fā)
安裝 Virtualenv
我們可以進(jìn)入 Virtualenv 的 Github 或者文檔 查看說(shuō)明,點(diǎn)擊進(jìn)入 installation(安裝)
里面記錄了各種可行的 Virtualenv 安裝方法。
由于 Python 是默認(rèn)支持 pip 安裝類庫(kù)方式,所以這里我們選用第二種
❝
pip install virtualenv
pip install -i https://pypi.douban.com/simple virtualenv (國(guó)內(nèi)鏡像速度較快)
❞
事不宜遲,我們馬上開始:
回到桌面,雙擊運(yùn)行 PyCharm 等待 PyCharm 打開后,點(diǎn)擊 底部菜單 Terminal 標(biāo)簽
運(yùn)行命令行工具
輸入 pip install virtualenv
并回車執(zhí)行,安裝 virtualenv
# 安裝 virtualenv D:\Dev\workplace\imooc>pip install virtualenv # 通過(guò) virtualenv --version 查看 virtualenv 版本號(hào) 和 安裝路徑 D:\Dev\workplace\imooc>virtualenv --version virtualenv 20.0.18 from d:\dev\env\python3.7\lib\site-packages\virtualenv\__init__.py
如果遇到 pip 加載類庫(kù)速度慢情況。是因?yàn)?pip 默認(rèn)安裝源在國(guó)外,更換為國(guó)內(nèi) pip 源就能加速。詳情參照下面 國(guó)內(nèi) pip 源,加速類庫(kù)安裝
內(nèi)容
至此 Virtualenv 已在全局環(huán)境中已經(jīng)安裝完成
創(chuàng)建 項(xiàng)目運(yùn)行環(huán)境
Virtualenv 工具已經(jīng)安裝完了,那我們就來(lái)練練手給我們 imooc
項(xiàng)目建立 項(xiàng)目運(yùn)行環(huán)境
。
建立 項(xiàng)目運(yùn)行環(huán)境
的命令怎么寫呢,遇事不決要么看文檔,要不搜索,問(wèn)人
我們先回到 Virtualenv文檔 ,左側(cè)菜單進(jìn)入 用戶指南 > 介紹
有這么一段
❝
于是我們就知道了,在 imooc 項(xiàng)目路徑下 執(zhí)行 virtualenv
。就能在 當(dāng)前路徑生成一個(gè)相同版本的python虛擬環(huán)境 venv
❞
那問(wèn)題又來(lái)了 —— 這些都是默認(rèn)的,如果我需要 「 指定目錄下 」 生成 「 指定 python 版本 」 的虛擬環(huán)境 怎么辦?
我們從剛才的 用戶指南 > 介紹 中繼續(xù)讀下去,就有這么一句
❝
命令行工具具有許多用于修改組件行為的標(biāo)志,有關(guān)完整列表,請(qǐng)確保檢出 CLI標(biāo)志 。
❞
翻譯得不太準(zhǔn)確哈,正確意譯過(guò)來(lái)是:
❝
命令行工具 (virtualenv) 中有很多命令設(shè)置選項(xiàng),完整的配置請(qǐng)查閱 CLI選項(xiàng)列表 。
❞
那我們就點(diǎn)擊進(jìn)去看一下吧,發(fā)現(xiàn)其中的
dest
:在該目錄下創(chuàng)建 virtualenv-p, --python
:為創(chuàng)建虛擬環(huán)境指定 Python 解釋器(需要絕對(duì)路徑)
這不就是我們要找的嘛
所以我們創(chuàng)建 imooc 項(xiàng)目運(yùn)行環(huán)境,應(yīng)該這么寫 virtualenv D:\Dev\env\imooc_venv -p D:\Dev\env\Python3.7\python.exe`,執(zhí)行情況如下
D:\Dev\workplace\imooc>virtualenv D:\Dev\env\imooc_venv -p D:\Dev\env\Python3.7\python.exe created virtual environment CPython3.7.7.final.0-64 in 406ms creator CPython3Windows(dest=D:\Dev\env\imooc_venv, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\Abo\A ppData\Local\pypa\virtualenv\seed-app-data\v1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator D:\Dev\workplace\imooc>
查看路徑 D:\Dev\env
下就有了 我們剛剛創(chuàng)建的 imooc_venv
項(xiàng)目運(yùn)行環(huán)境
PyCharm 結(jié)合 Virtualenv 使用
我們上一小節(jié)知道,項(xiàng)目的 Python 執(zhí)行環(huán)境,在創(chuàng)建項(xiàng)目時(shí)就已經(jīng)指定了。
當(dāng)我們創(chuàng)建好新的項(xiàng)目運(yùn)行環(huán)境是該如何設(shè)置呢?
我們回到 PyCharm,點(diǎn)擊它的頭部菜單欄 File
> Setting
選擇 Project: imooc
(imooc 項(xiàng)目設(shè)置) > Python Interperter
(項(xiàng)目解析器) > Show All
(展開所有)
添加虛擬環(huán)境 > Existing environment(已存在環(huán)境)> 選中 虛擬環(huán)境路徑下的 python.exe 文件, 確定更新
本課程的路徑是 D:\Dev\env\imooc_venv\Scripts\python.exe
等環(huán)境重新加載完成后,External Libraries(外部依賴類庫(kù))會(huì)變成 「 imooc_venv 」 ; 重啟 Terminal
(PyCharm 命令行工具)會(huì)加上 (imooc_venv)
代表在虛擬環(huán)境中
這里又有個(gè)小問(wèn)題,正常進(jìn)入 D:\Dev\workplace\imooc
路徑是沒(méi)有進(jìn)入虛擬環(huán)境,不會(huì)帶有 (imooc_venv)
。要怎樣才能進(jìn)入/退出呢
進(jìn)入/退出虛擬環(huán)境
遇事不決查virtualenv 文檔 ,里面的介紹就有這么一段
❝
總結(jié)下來(lái)就是 [venv]\Scripts\activate:激活虛擬環(huán)境;[venv]\Scripts\deactivate.bat:注銷虛擬環(huán)境;
❞
C:\Users\Abo>d: D:\>cd \Dev\workplace\imooc # 啟動(dòng)虛擬環(huán)境 D:\Dev\workplace\imooc>D:\Dev\env\imooc_venv\Scripts\activate # 退出虛擬環(huán)境 (imooc_venv) D:\Dev\workplace\imooc>D:\Dev\env\imooc_venv\Scripts\deactivate.bat D:\Dev\workplace\imooc>
至此 imooc 項(xiàng)目 Python 虛擬環(huán)境安裝完成,ღ( ´・ᴗ・` )比心
國(guó)內(nèi) pip 源,加速類庫(kù)安裝
如果遇到 pip 下載速度慢,可以考慮換國(guó)內(nèi)其他源鏡像
國(guó)內(nèi) pip 源:
- 清華:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:https://mirrors.aliyun.com/pypi/simple
- 中國(guó)科技大學(xué) https://pypi.mirrors.ustc.edu.cn/simple
- 豆瓣:https://pypi.douban.com/simple
臨時(shí)使用 格式為:pip install -i 國(guó)內(nèi)源網(wǎng)址 模塊名
例如:pip install -i https://pypi.douban.com/simple urllib3
說(shuō)明:使用 豆瓣
源,加速安裝 urllib3 模塊
總結(jié)
到此這篇關(guān)于Virtualenv 搭建 Py項(xiàng)目運(yùn)行環(huán)境的文章就介紹到這了,更多相關(guān)Virtualenv 搭建 Py項(xiàng)目運(yùn)行環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中根據(jù)字符串調(diào)用函數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇python中根據(jù)字符串調(diào)用函數(shù)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧2016-06-06python3實(shí)現(xiàn)windows下同名進(jìn)程監(jiān)控
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)windows下同名進(jìn)程監(jiān)控,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Python語(yǔ)法之精妙的十個(gè)知識(shí)點(diǎn)(裝B語(yǔ)法)
本文精心篩選了最能展現(xiàn) Python 語(yǔ)法之精妙的十個(gè)知識(shí)點(diǎn),并附上詳細(xì)的實(shí)例代碼,需要的朋友可以參考下2020-01-01python scrapy腳本報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了python scrapy腳本報(bào)錯(cuò)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02Django跨域請(qǐng)求問(wèn)題的解決方法示例
這篇文章主要給大家介紹了關(guān)于Django跨域請(qǐng)求問(wèn)題解決的相關(guān)資料,文中介紹的實(shí)現(xiàn)方法包括:使用django-cors-headers全局控制、使用JsonP,只能用于Get方法以及在views.py里設(shè)置響應(yīng)頭,只能控制單個(gè)接口,需要的朋友可以參考下2018-06-06Python使用jpype模塊調(diào)用jar包過(guò)程解析
這篇文章主要介紹了Python使用jpype模塊調(diào)用jar包過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07tensorflow訓(xùn)練中出現(xiàn)nan問(wèn)題的解決
本篇文章主要介紹了tensorflow訓(xùn)練中出現(xiàn)nan問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02