python中如何使用虛擬環(huán)境
在進(jìn)行python的開發(fā)過(guò)程中一直倡導(dǎo)使用虛擬環(huán)境來(lái)進(jìn)行項(xiàng)目隔離,這樣不會(huì)因?yàn)閜ython的包不同而導(dǎo)致各種問題,但是以往為了圖省事簡(jiǎn)單,安裝包就一直使用pip install 進(jìn)行全局安裝,這樣做其實(shí)很不好,最近也開始嘗試使用虛擬環(huán)境來(lái)對(duì)項(xiàng)目進(jìn)行隔離開發(fā)。
在python中一般情況下有兩套方案,一種是使用virtualenv/venv 方式,還有一種是使用pipenv,但是看到網(wǎng)上對(duì)于pipenv這個(gè)項(xiàng)目有些非議,就目前來(lái)說(shuō)項(xiàng)目的issue和pr很多,但是開發(fā)者似乎不太想要對(duì)其進(jìn)行維護(hù),所以還是先嘗試比較成熟穩(wěn)定的virtualenv/venv方式吧,至于pipenv 以后再進(jìn)行嘗試。
我所考慮的幾個(gè)問題
- 如何創(chuàng)建一個(gè)虛擬隔離環(huán)境
- 如何在虛擬環(huán)境中安裝包
- 如何使用國(guó)內(nèi)的鏡像源加速
- 如何遷移項(xiàng)目到別的機(jī)器上
現(xiàn)在主要在python3中開發(fā),所以就直接使用venv的方式吧,virtualenv和venv方式差不多,如果你是在python2中那么就使用virtualenv吧。
如何創(chuàng)建一個(gè)虛擬隔離環(huán)境
創(chuàng)建目錄,并使用命令創(chuàng)建虛擬環(huán)境
mkdir venvtest cd venvtest python3 -m venv venttest
我是在windows環(huán)境下,執(zhí)行完上面的命令以后會(huì)在venvtest目錄下venvtest目錄,這個(gè)目錄下有python3環(huán)境的基礎(chǔ)標(biāo)準(zhǔn)庫(kù),并不包含你在全局環(huán)境中安裝的第三方包。
調(diào)用虛擬環(huán)境的\Scripts\activate
命令就可以激活虛擬環(huán)境,激活虛擬環(huán)境以后,命令行提示符前會(huì)顯示當(dāng)前虛擬環(huán)境的名字:(venttest) E:\venvtest>
安裝第三方庫(kù)
和全局安裝一樣,使用pip install 命令,只不過(guò)這次是安裝到了虛擬環(huán)境,如運(yùn)行pip install requests
命令,運(yùn)行之后再查看venvtest\venttest\Lib\site-packages
中就會(huì)有requests庫(kù)了,但是前提一定要使用activate激活當(dāng)前的虛擬環(huán)境,要不就安裝到了全局的python site-packages目錄里了。
如何使用國(guó)內(nèi)的鏡像源加速
在虛擬機(jī)環(huán)境中使用pip 讀取的是全局的鏡像回事配置,就是要?jiǎng)?chuàng)建一個(gè)環(huán)境變量HOME
,然后在HOME環(huán)境變量的目錄下創(chuàng)建pip目錄,再創(chuàng)建一個(gè)pip.ini,寫入
[global] index-url = https://mirrors.aliyun.com/pypi/simple
我這里使用的是阿里云的鏡像加速。
如何遷移項(xiàng)目到別的機(jī)器上
我這里簡(jiǎn)單使用Flask創(chuàng)建一個(gè)hello world的項(xiàng)目
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return '歡迎來(lái)到我的世界'
在激活虛擬環(huán)境的情況下使用flask run
命令來(lái)運(yùn)行服務(wù),此時(shí)因?yàn)閒lask安裝在虛擬環(huán)境中,即使全局python環(huán)境中沒有flask也可以運(yùn)行,但一定要在激活虛擬環(huán)境的狀態(tài)。
如何遷移項(xiàng)目
換一個(gè)電腦開發(fā)或者在多人開發(fā)的情況下,需要怎么遷移項(xiàng)目呢?
簡(jiǎn)單的方式是直接將原虛擬環(huán)境直接打包到新的目錄,然后修改一個(gè)相應(yīng)的目錄配置。
主要是Script\activate.bat
將里面的
set "VIRTUAL_ENV=E:\vtest\venttest"
修改為新的路徑。
還有一種方式是在原虛擬環(huán)境下備份出第三方庫(kù)列表,然后在新環(huán)境中重新安裝。
備份列表命令使用pip freeze > requirements.txt
將該虛擬環(huán)境安裝的第三方包備份到requirements.txt,在新的環(huán)境使用pip install -r requirements.txt
進(jìn)行安裝,使用pip freeze 命令也會(huì)同時(shí)將第三方庫(kù)的版本信息備份,這樣也保證了遷移以后的前后版本一致。
新電腦上也要安裝相同使用的python主環(huán)境,如你的虛擬環(huán)境是pyhon3,新環(huán)境只有python2,那也是不行的。
但是之前做項(xiàng)目的時(shí)候?qū)Φ谌綆?kù)源碼進(jìn)行了修改,這里也需要同時(shí)修改一下。
pycharm項(xiàng)目配置虛擬環(huán)境
pycharm 在創(chuàng)建項(xiàng)目的時(shí)候可以直接使用venv來(lái)創(chuàng)建
在New environment using 的下拉選項(xiàng)中選擇 Virualenv,在Base interpreter 中使用python 3.5 ,這里列出了系統(tǒng)中安裝的python版本。如果沒有列出的話也可以點(diǎn)擊后面的… 來(lái)手工選一下。
以上就是python中如何使用虛擬環(huán)境的詳細(xì)內(nèi)容,更多關(guān)于python 虛擬環(huán)境的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python 虛擬環(huán)境venv詳解
- Python虛擬環(huán)境venv用法詳解
- python虛擬環(huán)境創(chuàng)建的兩種方法
- python搭建虛擬環(huán)境的步驟詳解
- Python虛擬環(huán)境的創(chuàng)建和使用詳解
- Python虛擬環(huán)境的原理及使用詳解
- python 虛擬環(huán)境的創(chuàng)建與使用方法
- 解決python 虛擬環(huán)境刪除包無(wú)法加載的問題
- Anaconda中Python虛擬環(huán)境的創(chuàng)建使用與刪除方法詳解
- python中創(chuàng)建以及刪除虛擬環(huán)境的幾種方法總結(jié)
相關(guān)文章
基于Python實(shí)現(xiàn)智能停車場(chǎng)車牌識(shí)別計(jì)費(fèi)系統(tǒng)
這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)一個(gè)智能停車場(chǎng)車牌識(shí)別計(jì)費(fèi)系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下2022-04-04Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享
這篇文章主要介紹了Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享,本文講解了原理、實(shí)現(xiàn)代碼、使用方法、最新代碼等內(nèi)容,需要的朋友可以參考下2015-01-01Python對(duì)切片命名的實(shí)現(xiàn)方法
在本篇文章里我們給大家分享了關(guān)于Python對(duì)切片命名的實(shí)現(xiàn)方法的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下。2018-10-10Python深度學(xué)習(xí)之使用Albumentations對(duì)圖像做增強(qiáng)
諸如RandomCrop和CenterCrop之類的某些增強(qiáng)功能可能會(huì)變換圖像,使其不包含所有原始邊界框. 本示例說(shuō)明如何使用名為RandomSizedBBoxSafeCrop的變換來(lái)裁剪圖像的一部分,但保留原始圖像的所有邊界框,需要的朋友可以參考下2021-05-05Python 定義分?jǐn)?shù)類實(shí)現(xiàn)其基本運(yùn)算(示例代碼)
這篇文章主要介紹了Python 定義分?jǐn)?shù)類實(shí)現(xiàn)其基本運(yùn)算,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Python爬蟲解析網(wǎng)頁(yè)的4種方式實(shí)例及原理解析
這篇文章主要介紹了Python爬蟲解析網(wǎng)頁(yè)的4種方式實(shí)例及原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12