深入淺析pycharm中 Make available to all projects的含義
一、為什么要進(jìn)行包管理?
python中的三方包琳瑯滿(mǎn)目,提供了各種各樣的功能,使得我們免于自己去手寫(xiě)很多代碼。比如,我們?cè)跍y(cè)試接口的時(shí)候,我們用到了request,我們?cè)跍y(cè)試前端頁(yè)面的時(shí)候,我們用到了webdriver的包,移動(dòng)UI自動(dòng)化測(cè)試我們用到了airtest的包,諸如此類(lèi),不勝枚舉。于是,我們?cè)凇疤扉L(zhǎng)地久”的使用過(guò)程中,積累的三方包越來(lái)越多,具體有多少,大家可以在命令行執(zhí)行pip list看一下,數(shù)量可能超出自己的想象哦。那么現(xiàn)在,領(lǐng)導(dǎo)給你一個(gè)任務(wù),讓你開(kāi)發(fā)一個(gè)項(xiàng)目,開(kāi)發(fā)完之后,部署到公共的服務(wù)器上面。對(duì)于這個(gè)場(chǎng)景的包管理,我認(rèn)為有不少人是這么做的:先在本地開(kāi)發(fā)完成,然后使用pip freeze >requirements.txt生成依賴(lài)包列表文件。然后將代碼放到服務(wù)器上之后,繼續(xù)使用pip install -r requirements.txt在服務(wù)器上將依賴(lài)包安裝好。當(dāng)然,你的代碼跑的66的。但是,在這個(gè)項(xiàng)目之前,你可能已經(jīng)做了很多其他的項(xiàng)目,那些項(xiàng)目也有很多當(dāng)前項(xiàng)目用不到的依賴(lài)包,如果不考慮環(huán)境隔離,按照上面的方式去做,當(dāng)前項(xiàng)目的依賴(lài)包就不僅僅是當(dāng)前項(xiàng)目的依賴(lài)包了。也就是說(shuō)你當(dāng)前的項(xiàng)目可能只需要10個(gè)三方包,你可能裝了100個(gè),嚴(yán)重浪費(fèi)了時(shí)間和空間。另外,你的A項(xiàng)目使用django 1.8,另外一個(gè)B項(xiàng)目使用django 2.1,怎么實(shí)現(xiàn)呢?這種情況下,每個(gè)應(yīng)用可能需要各自擁有一套“獨(dú)立”的Python運(yùn)行環(huán)境。virtualenv就是用來(lái)為一個(gè)應(yīng)用創(chuàng)建一套“隔離”的Python運(yùn)行環(huán)境。
綜上,包管理要解決的痛點(diǎn)就是:
1、不必要的包的安裝,浪費(fèi)時(shí)間
2、項(xiàng)目之間的依賴(lài)包隔離
二、怎么做
1、命令行 先安裝虛擬環(huán)境模塊
pip3 install virtualenv # 安裝virtualenv
進(jìn)入項(xiàng)目目錄,創(chuàng)建python虛擬環(huán)境
cd haima_api virtualenv --no-site-packages myvenv # myenv是虛擬環(huán)境名字,隨便取
這樣我們就創(chuàng)建好了haima_api項(xiàng)目的虛擬環(huán)境,參數(shù)--no-site-packages,這樣,已經(jīng)安裝到系統(tǒng)Python環(huán)境中的所有第三方包都不會(huì)復(fù)制過(guò)來(lái)。
激活虛擬環(huán)境
source myvenv/bin/activate
激活之后,命令行最前面會(huì)加上一個(gè)標(biāo)識(shí)。如下。
這個(gè)時(shí)候,在命令行下面執(zhí)行pip install安裝后的包就只會(huì)安裝到剛剛創(chuàng)建的虛擬環(huán)境下,只和當(dāng)前的項(xiàng)目掛鉤,與其他項(xiàng)目無(wú)關(guān)了。
2、使用pycharm
我們開(kāi)發(fā)的時(shí)候,更多會(huì)使用到pycharm這個(gè)ide,新建項(xiàng)目的時(shí)候選擇虛擬環(huán)境即可
pycharm使用虛擬環(huán)境創(chuàng)建項(xiàng)目
inherit global site-packages:勾選上的話代表創(chuàng)建的新項(xiàng)目需要copy一份全局包到虛擬環(huán)境。
Make available to all projects:勾選上,表示,當(dāng)在虛擬環(huán)境下安裝包的時(shí)候,copy一份到全局。
前面文章中一只提到了全局包和虛擬環(huán)境里的包,在此解釋一下他們的存放位置:
全局包存放在python安裝目錄下的\Lib\site-packages子目錄里。
虛擬環(huán)境包安裝在關(guān)聯(lián)的項(xiàng)目目錄下面的\${虛擬環(huán)境名}\Lib\site-packages子目錄里
三、項(xiàng)目部署時(shí)批量導(dǎo)包
- 在當(dāng)前虛擬環(huán)境下,通過(guò)pip freeze > requirements.txt(名字隨意)
- 在目標(biāo)服務(wù)器上執(zhí)行,pip install requirements.txt即可
綜上,python項(xiàng)目間的包管理就是這么easy,當(dāng)你要同時(shí)開(kāi)發(fā)多個(gè)項(xiàng)目的時(shí)候,這個(gè)是必不可少的。
到此這篇關(guān)于深入淺析pycharm中 Make available to all projects的含義的文章就介紹到這了,更多相關(guān)pycharm Make available to all projects內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解python string類(lèi)型 bytes類(lèi)型 bytearray類(lèi)型
這篇文章主要介紹了python string類(lèi)型 bytes類(lèi)型 bytearray類(lèi)型,需要的朋友可以參考下2017-12-12Python DataFrame.groupby()聚合函數(shù),分組級(jí)運(yùn)算
python的pandas包提供的數(shù)據(jù)聚合與分組運(yùn)算功能很強(qiáng)大,也很靈活,本文就帶領(lǐng)大家一起來(lái)了解groupby技術(shù),感興趣的朋友跟隨小編一起來(lái)看下2018-09-09Python?OpenCV超詳細(xì)講解透視變換的實(shí)現(xiàn)
OpenCV用C++語(yǔ)言編寫(xiě),它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實(shí)時(shí)視覺(jué)應(yīng)用,并在可用時(shí)利用MMX和SSE指令,本篇文章帶你通過(guò)OpenCV實(shí)現(xiàn)透視變換2022-04-04Pytorch之nn.Upsample()和nn.ConvTranspose2d()用法詳解
nn.Upsample和nn.ConvTranspose2d是PyTorch中用于上采樣的兩種主要方法,nn.Upsample通過(guò)不同的插值方法(如nearest、bilinear)執(zhí)行上采樣,沒(méi)有可學(xué)習(xí)的參數(shù),適合快速簡(jiǎn)單的尺寸增加,而nn.ConvTranspose2d通過(guò)可學(xué)習(xí)的轉(zhuǎn)置卷積核進(jìn)行上采樣2024-10-10Python基礎(chǔ)語(yǔ)法(Python基礎(chǔ)知識(shí)點(diǎn))
這篇文章主要介紹了Python基礎(chǔ)語(yǔ)法(Python基礎(chǔ)知識(shí)點(diǎn)),需要的朋友可以參考下2016-02-02Python接口測(cè)試之如何使用requests發(fā)起請(qǐng)求
這篇文章主要介紹了Python接口測(cè)試之如何使用requests發(fā)起請(qǐng)求問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06IDEA創(chuàng)建python項(xiàng)目詳細(xì)圖文教程
在開(kāi)始編寫(xiě)Python代碼之前,需要在IDEA中配置Python環(huán)境,下面這篇文章主要給大家介紹了關(guān)于IDEA創(chuàng)建python項(xiàng)目的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10python實(shí)現(xiàn)文件批量編碼轉(zhuǎn)換及注意事項(xiàng)
本文通過(guò)實(shí)例代碼給大家介紹了python實(shí)現(xiàn)文件批量編碼轉(zhuǎn)換及注意事項(xiàng),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-10-10