最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?中的requirements.txt?文件的使用詳情

 更新時(shí)間:2022年05月17日 16:28:19   作者:??夢(mèng)想橡皮擦????  
這篇文章主要介紹了python?中的requirements.txt文件的使用詳情,文章圍繞主題展開詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

實(shí)戰(zhàn)場(chǎng)景

在部署Python應(yīng)用時(shí),需要把第三方庫(kù)進(jìn)行安裝,這里可以使用requirements.txt文件,其中記錄了所有依賴包以及精確的版本號(hào)。

requirements.txt文件在我們?cè)L問開源 Python項(xiàng)目的時(shí)候,極常見。

簡(jiǎn)單使用流程概述

使用pip freeze命令生成requirements.txt文件,

如下所示:

pip freeze > requirements.txt

請(qǐng)注意:每包都獨(dú)占一行,然后是版本號(hào)。

生成的文件默認(rèn)在控制臺(tái)執(zhí)行目錄,也可以自定義目錄,創(chuàng)建文件的時(shí)候增加文件目錄即可

pip freeze > d:/requirements.txt

其中>表示重定向,即 freeze 輸出的內(nèi)容送到requirements.txt文件中。

遷移環(huán)境的時(shí)候,注意打包該文件,然后使用如下命令部署

pip install -r requirements.txt

生成 requirements.txt 文件潛在問題

如果生成該文件出現(xiàn)的時(shí)候出現(xiàn) warning,建議使用python -m去執(zhí)行 pip freeze 命令。

如果你創(chuàng)建 Python 程序,或者安裝模塊時(shí),未使用虛擬環(huán)境,那在生成requirements.txt文件的時(shí)候,會(huì)將你本地所有的包都進(jìn)行打包提取,部署前,需要人工進(jìn)行篩選。

語法格式 在requirements.txt文件中,可以只寫第三方模塊名稱,不指定版本號(hào),默認(rèn)安裝最新版本。

如果使用注釋,使用#加文字內(nèi)容。

模塊名稱與版本號(hào)之間可以使用如下符號(hào):

  • ==:等于
  • >:大于版本
  • >=:大于等于
  • <:小于版本
  • <=:小于等于版本
  • ~=:兼容版本,使用任何大于或等于指定版本,但不大于當(dāng)前發(fā)行系列的版本,例如~=1.4.3可以匹配1.4.31.4.9,但是不能匹配1.5.0 。

在可選范圍內(nèi),安裝最新版本,當(dāng)前最優(yōu)先的依舊是等于的版本號(hào)。

可以使用逗號(hào),分隔兩個(gè)條件,例如下述代碼:

package_name >= 1.0, <=2.0

使用 requirements.txt 文件的好處

  • 不需要每個(gè)包都使用 pip 進(jìn)行安裝
  • 不需要確定第三方模塊的版本號(hào)

備注

上文提及如果希望 requirements.txt 文件變得精簡(jiǎn),可以使用虛擬環(huán)境實(shí)現(xiàn)隔離,它將用戶的軟件包和系統(tǒng)的軟件包進(jìn)行區(qū)分,允許我們?yōu)槊總€(gè)單獨(dú)的程序安裝模塊。

常見的虛擬環(huán)境包如下所示:

  • virtualenv
  • pipenv

但上述介紹存在潛在的問題是:

requirements.txt文件只包含一級(jí)依賴項(xiàng)及其版本,但如果我們的依賴項(xiàng)自身包含其它依賴項(xiàng)(二級(jí)以上),這些模塊的版本不一定被鎖定。

此時(shí)就可能會(huì)出現(xiàn)一個(gè)由于版本不對(duì)應(yīng)的問題,導(dǎo)致程序崩潰。

當(dāng)然使用下述命令可以解決該問題

pip freeze > requirements.txt

但是使用該命令會(huì)產(chǎn)生延伸問題,如果你希望刪除一個(gè)模塊,如何判斷其關(guān)聯(lián)依賴被刪除

在其他編程語言中,會(huì)創(chuàng)建2個(gè)文件,一個(gè)用于定義依賴關(guān)系,另一個(gè)鎖定所有的次級(jí)依賴項(xiàng)及其版本。

解決上述問題,可以使用pip-tools中的 pip-compile。

使用 pip-compile

該功能模塊在pip-tools中,所以需要先安裝該工具。

python -m pip install pip-tools -i https://pypi.douban.com/simple/

安裝完畢會(huì)在 Python 的 Scripts 文件夾中生成如下 exe 程序。

然后在你需要生成requirements.txt的目錄中建立一個(gè)requirements.in文件,其中可以寫入你需要的模塊

requests == 2.27.0

然后執(zhí)行pip-compile命令,輸出內(nèi)容如下所示:

requirements.txt 文件代碼如下:

#
# This file is autogenerated by pip-compile with python 3.8
# To update, run:
#
#    pip-compile
#
certifi==2021.10.8
    # via requests
charset-normalizer==2.0.12
    # via requests
idna==3.3
    # via requests
requests==2.27.0
    # via -r requirements.in
urllib3==1.26.9
    # via requests

到此這篇關(guān)于python 中的requirements.txt 文件的使用詳情的文章就介紹到這了,更多相關(guān)python requirements.txt內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

奉新县| 皋兰县| 凉城县| 梅州市| 柳林县| 徐水县| 惠安县| 嘉鱼县| 高安市| 乌拉特后旗| 灵璧县| 建湖县| 永吉县| 阜康市| 彭山县| 阜阳市| 高尔夫| 册亨县| 旌德县| 屏东县| 沙雅县| 泾川县| 乌兰县| 长垣县| 大洼县| 兴安县| 博客| 阳春市| 石景山区| 剑阁县| 东丰县| 揭西县| 南投市| 宜宾县| 太白县| 苏尼特左旗| 虹口区| 昌乐县| 财经| 平遥县| 旌德县|