[發(fā)明專利]一種運(yùn)行時(shí)安裝或升級(jí)Python包的方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202210132434.1 | 申請(qǐng)日: | 2022-02-14 |
| 公開(公告)號(hào): | CN114491176A | 公開(公告)日: | 2022-05-13 |
| 發(fā)明(設(shè)計(jì))人: | 蔣爍淼;周逸靈 | 申請(qǐng)(專利權(quán))人: | 上海駐云信息科技有限公司 |
| 主分類號(hào): | G06F16/903 | 分類號(hào): | G06F16/903;G06F16/901;G06F8/65;G06F8/61 |
| 代理公司: | 北京中索知識(shí)產(chǎn)權(quán)代理有限公司 11640 | 代理人: | 高海濤 |
| 地址: | 201203 上海市浦東新區(qū)中*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 運(yùn)行 安裝 升級(jí) python 方法 系統(tǒng) | ||
本發(fā)明公開了一種運(yùn)行時(shí)安裝或升級(jí)Python包的方法及系統(tǒng),所述方法包括如下步驟:根據(jù)需要安裝或升級(jí)的包名,在用戶自定義的包目錄下查詢同名的包;若查詢到同名的包,則將其刪除,并在同目錄下進(jìn)行安裝所述需要安裝或升級(jí)的包;若未查詢到同名的包,則直接在同目錄下安裝所述需要安裝或升級(jí)的包。使用本方法可以在腳本運(yùn)行之前或者腳本運(yùn)行過(guò)程中方便快捷的安裝或升級(jí)Python第三方包。
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言屬于一種運(yùn)行時(shí)安裝或升級(jí)Python包的方法及系統(tǒng)。
背景技術(shù)
對(duì)于允許執(zhí)行用戶自定義腳本的服務(wù)器端應(yīng)用程序而言,都有滿足用戶自定義腳本中的第三方依賴包的需求。
在常規(guī)使用第三方包的過(guò)程中大多是預(yù)先安裝好一些常用的Python包以供用戶直接使用,或者是使用Docker等容器技術(shù)使腳本在容器中安裝所需第三方包并運(yùn)行用戶自定義腳本。但是上述方法均存在其各自的弊端,像預(yù)先安裝好Python包的方法其無(wú)法總是滿足用戶的需要,用戶無(wú)法使用沒(méi)有預(yù)先安裝的包,并且在用戶運(yùn)行腳本的過(guò)程中若是出現(xiàn)無(wú)第三方包或者第三方包需要升級(jí)的問(wèn)題的話,只能等待服務(wù)器端應(yīng)用程序升級(jí)更新后才能使用。
若是使用容器則會(huì)導(dǎo)致腳本啟動(dòng)速度很慢,并且由于是完全隔離,每個(gè)用戶腳本執(zhí)行實(shí)際都需要在容器中啟動(dòng)一個(gè)Python虛擬機(jī),資源占用較多。
有鑒于此,特提出本發(fā)明。
發(fā)明內(nèi)容
本發(fā)明的第一目的在于提供一種運(yùn)行時(shí)安裝或升級(jí)Python包的方法,本方法使用先刪除后安裝的方式來(lái)進(jìn)行Python第三方包的安裝或是升級(jí),并且本方法所有的操作均是在用戶自定義的包目錄下進(jìn)行,無(wú)需運(yùn)行于隔離環(huán)境下,如此在保持啟動(dòng)速度快、資源占用小的同時(shí),用戶又可以根據(jù)需要隨時(shí)進(jìn)行安裝或升級(jí)使用到的第三方Python包。
本發(fā)明的第二目的在于提供一種運(yùn)行時(shí)安裝或升級(jí)Python包的系統(tǒng),本系統(tǒng)基于上述方法所設(shè)計(jì),也即是說(shuō)本系統(tǒng)為上述方法的實(shí)施提供了底層保障。
為了實(shí)現(xiàn)本發(fā)明的上述目的,特采用以下技術(shù)方案:
本發(fā)明提供了一種運(yùn)行時(shí)安裝或升級(jí)Python包的方法,具體包括如下步驟:
根據(jù)需要安裝或升級(jí)的包名,在用戶自定義的包目錄下查詢同名的包;
若查詢到同名的包,則將其刪除,并在同目錄下進(jìn)行安裝所述需要安裝或升級(jí)的包;若未查詢到同名的包,則直接在同目錄下安裝所述需要安裝或升級(jí)的包。
優(yōu)選地,上述方法均是在用戶自定義的包目錄下進(jìn)行的,此目錄是用戶自定義的專用于存放腳本第三方包的文件夾。所述查詢的過(guò)程就是依照待安裝或升級(jí)的Python包名字進(jìn)行檢索,若檢索到有同名的目錄則執(zhí)行刪除操作,否則視為無(wú)同名第三方包,接下來(lái)就直接進(jìn)行安裝操作。
優(yōu)選地,所述刪除過(guò)程包括如下步驟:在用戶自定義的包目錄下按照后綴進(jìn)行檢索,所述后綴為“.dist-info”,并在所有符合后綴條件的目錄下檢查頂層文件,即“top-level.txt”文件,所述“top-level.txt”文件中會(huì)存儲(chǔ)已安裝的Python第三方包信息,所述“top-level.txt”文件中存儲(chǔ)的信息如果與待安裝或升級(jí)的Python包名字同名,則將整個(gè)子目錄刪除,這里所說(shuō)的子目錄指的是其后綴為“.dist-info”,且其頂層文件中的內(nèi)容與待安裝或升級(jí)的Python包同名的子目錄以及用戶自定義的包目錄下與Python包同名目錄。刪除整個(gè)子目錄的目的在于“斬草除根”,將所有的殘留文件全部刪除掉,避免后續(xù)出現(xiàn)不必要的問(wèn)題。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海駐云信息科技有限公司,未經(jīng)上海駐云信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210132434.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行支援裝置、運(yùn)行支援系統(tǒng)以及運(yùn)行支援程序
- 列車運(yùn)行處理方法、運(yùn)行處理裝置和運(yùn)行調(diào)度系統(tǒng)
- 運(yùn)行監(jiān)測(cè)系統(tǒng)及運(yùn)行監(jiān)測(cè)方法
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行曲線制作裝置、運(yùn)行輔助裝置以及運(yùn)行控制裝置
- 運(yùn)行支持裝置、車輛、運(yùn)行管理裝置和運(yùn)行支持方法
- 運(yùn)行計(jì)劃方法、運(yùn)行控制裝置和運(yùn)行計(jì)劃系統(tǒng)
- 運(yùn)行控制裝置、運(yùn)行管理系統(tǒng)、運(yùn)行控制方法以及車輛
- 自動(dòng)建模運(yùn)行系統(tǒng)及運(yùn)行方法
- 一種機(jī)頂盒Loader模塊升級(jí)方法及其機(jī)頂盒
- 產(chǎn)品升級(jí)的方法和設(shè)備
- 一種機(jī)頂盒的升級(jí)方法和裝置
- 網(wǎng)絡(luò)設(shè)備升級(jí)方法、升級(jí)服務(wù)器、終端設(shè)備及存儲(chǔ)介質(zhì)
- 無(wú)人機(jī)系統(tǒng)中的模塊升級(jí)方法及待升級(jí)模塊
- 一種基于主分結(jié)構(gòu)的應(yīng)用升級(jí)及升級(jí)版本控制方法及系統(tǒng)
- 一種升級(jí)方法及裝置
- 一種終端升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 一種車輛升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 設(shè)備升級(jí)方法、裝置及服務(wù)器
- 一種基于Python語(yǔ)言的網(wǎng)格系統(tǒng)實(shí)現(xiàn)方法
- 一種基于模塊鉤子的Python字節(jié)碼文件保護(hù)方法
- 一種通過(guò)加密Python明文源碼token的知識(shí)產(chǎn)權(quán)保護(hù)系統(tǒng)
- 一種創(chuàng)建Python沙盒環(huán)境的方法及電子設(shè)備
- 圖形化Python編程交互方法、系統(tǒng)及電子設(shè)備
- 一種基于Ambari實(shí)現(xiàn)Python組件管理的方法
- 一種基于Java自動(dòng)調(diào)用Python腳本的方法
- Python與Scratch交互式編程方法及電子設(shè)備
- 一種 Python 源碼安全防護(hù)的實(shí)現(xiàn)方法及系統(tǒng)
- 一種生成python項(xiàng)目結(jié)構(gòu)圖的方法、系統(tǒng)及介質(zhì)





