python中如何使用虛擬環(huán)境
在進(jìn)行python的開發(fā)過程中一直倡導(dǎo)使用虛擬環(huán)境來進(jìn)行項(xiàng)目隔離,這樣不會(huì)因?yàn)閜ython的包不同而導(dǎo)致各種問題,但是以往為了圖省事簡(jiǎn)單,安裝包就一直使用pip install 進(jìn)行全局安裝,這樣做其實(shí)很不好,最近也開始嘗試使用虛擬環(huán)境來對(duì)項(xiàng)目進(jìn)行隔離開發(fā)。
在python中一般情況下有兩套方案,一種是使用virtualenv/venv 方式,還有一種是使用pipenv,但是看到網(wǎng)上對(duì)于pipenv這個(gè)項(xiàng)目有些非議,就目前來說項(xiàng)目的issue和pr很多,但是開發(fā)者似乎不太想要對(duì)其進(jìn)行維護(hù),所以還是先嘗試比較成熟穩(wěn)定的virtualenv/venv方式吧,至于pipenv 以后再進(jìn)行嘗試。我所考慮的幾個(gè)問題
如何創(chuàng)建一個(gè)虛擬隔離環(huán)境 如何在虛擬環(huán)境中安裝包 如何使用國內(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 venvtestcd venvtestpython3 -m venv venttest
我是在windows環(huán)境下,執(zhí)行完上面的命令以后會(huì)在venvtest目錄下venvtest目錄,這個(gè)目錄下有python3環(huán)境的基礎(chǔ)標(biāo)準(zhǔn)庫,并不包含你在全局環(huán)境中安裝的第三方包。
調(diào)用虛擬環(huán)境的Scriptsactivate 命令就可以激活虛擬環(huán)境,激活虛擬環(huán)境以后,命令行提示符前會(huì)顯示當(dāng)前虛擬環(huán)境的名字:(venttest) E:venvtest>
安裝第三方庫
和全局安裝一樣,使用pip install 命令,只不過這次是安裝到了虛擬環(huán)境,如運(yùn)行pip install requests命令,運(yùn)行之后再查看venvtestventtestLibsite-packages 中就會(huì)有requests庫了,但是前提一定要使用activate激活當(dāng)前的虛擬環(huán)境,要不就安裝到了全局的python site-packages目錄里了。
如何使用國內(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 Flaskapp = Flask(__name__)@app.route(’/’)def hello(): return ’歡迎來到我的世界’
在激活虛擬環(huán)境的情況下使用flask run 命令來運(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)的目錄配置。主要是Scriptactivate.bat 將里面的set 'VIRTUAL_ENV=E:vtestventtest' 修改為新的路徑。還有一種方式是在原虛擬環(huán)境下備份出第三方庫列表,然后在新環(huán)境中重新安裝。備份列表命令使用pip freeze > requirements.txt 將該虛擬環(huán)境安裝的第三方包備份到requirements.txt,在新的環(huán)境使用pip install -r requirements.txt 進(jìn)行安裝,使用pip freeze 命令也會(huì)同時(shí)將第三方庫的版本信息備份,這樣也保證了遷移以后的前后版本一致。新電腦上也要安裝相同使用的python主環(huán)境,如你的虛擬環(huán)境是pyhon3,新環(huán)境只有python2,那也是不行的。但是之前做項(xiàng)目的時(shí)候?qū)Φ谌綆煸创a進(jìn)行了修改,這里也需要同時(shí)修改一下。
pycharm項(xiàng)目配置虛擬環(huán)境
pycharm 在創(chuàng)建項(xiàng)目的時(shí)候可以直接使用venv來創(chuàng)建
在New environment using 的下拉選項(xiàng)中選擇 Virualenv,在Base interpreter 中使用python 3.5 ,這里列出了系統(tǒng)中安裝的python版本。如果沒有列出的話也可以點(diǎn)擊后面的… 來手工選一下。
以上就是python中如何使用虛擬環(huán)境的詳細(xì)內(nèi)容,更多關(guān)于python 虛擬環(huán)境的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案2. xml文件的結(jié)構(gòu)解讀第1/2頁3. jsp實(shí)現(xiàn)局部刷新頁面、異步加載頁面的方法4. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐5. vue根據(jù)條件不同顯示不同按鈕的操作6. IntelliJ IDEA 2021.1 EAP 4 發(fā)布:字體粗細(xì)可調(diào)整Git commit template 支持7. 簡(jiǎn)單了解JavaScript作用域8. js中的正則表達(dá)式(一)9. IntelliJ-Idea導(dǎo)出可執(zhí)行Jar流程解析10. Django使用redis配置緩存的方法
