Python使用requirements.txt和pip打包批量安裝的實(shí)現(xiàn)
當(dāng)我們程序越來(lái)越復(fù)雜,使用pip管理Python包(庫(kù))。我們可以方便的使用配置文件 requirements.txt 批量安裝指定版本的指定包。
關(guān)于涉及到的pip官方的手冊(cè)在這個(gè)位置: pip documentationv23.1.dev0
本文對(duì)以下內(nèi)容進(jìn)行說(shuō)明:
- pip 的批量安裝選項(xiàng): -r requirements.txt
- 配置文件 requirements.txt 的寫法
- 生成當(dāng)前環(huán)境的requirements.txt配置文件: pip freeze
1. pip 的批量安裝選項(xiàng):-r requirements.txt
以下命令根據(jù)配置文件 requirements.txt 批量安裝包。
$ pip install -r requirements.txt
配置文件名是任意的,但經(jīng)常使用 requirements.txt 這個(gè)名字。
將 requirements.txt 放在運(yùn)行命令的目錄中。如果它在另一個(gè)目錄中,請(qǐng)指定當(dāng)前目錄的絕對(duì)路徑或相對(duì)路徑。
2. 配置文件requirements.txt怎么寫
下面是一個(gè)典型的requirements.txt文件的例子
###### 下面的是不需要版本要求的 ######` nose nose-cov beautifulsoup4 ###### 進(jìn)行版本要求的例子 ######` docopt == 0.6.1 ? ? ? ? # 必須嚴(yán)格的 0.6.1 的版本 keyring >= 4.1.1 ? ? ? ?# 最小的版本 4.1.1 coverage != 3.5 ? ? ? ? # 版本排除,只要不是 3.5 都可以 Mopidy-Dirble ~= 1.1 ? ?# 兼容版本。與>=1.1,==1.* 相同
仔細(xì)看上面的代碼,我們有如下規(guī)律
- 與 Python 代碼一樣, # 之后的任何內(nèi)容都是注釋。
- 在實(shí)際使用時(shí),可以使用 == 、 > 、 >= 、 < 、 <= 等指定版本。如果省略版本說(shuō)明,將安裝最新版本。
另外,如果需要可以用 AND 指定兩個(gè)條件,方法是用逗號(hào) , 分隔它們。在以下示例中,將安裝高于 1.0 AND 低于 2.0 的版本。
package >= 1.0, <=2.0
3. 導(dǎo)出當(dāng)前環(huán)境配置文件:pip freeze
pip freeze 命令將當(dāng)前環(huán)境安裝的包和版本以配置文件的形式輸出,可以和 pip install -r 一起使用。
$ pip freeze agate==1.6.0 agate-dbf==0.2.0 agate-excel==0.2.1 agate-sql==0.5.2
因此,如果將 pip freeze 輸出到帶有重定向 > 的文件,則可以使用該文件在單獨(dú)的環(huán)境中安裝與原始環(huán)境相同版本的包。
田辛老師在復(fù)制環(huán)境的時(shí)候,經(jīng)常這樣做:
第一步,生成requirements.txt文件
$ pip freeze > requirements.txt
第二步,在新的機(jī)器上
$ pip install -r requirements.txt
到此這篇關(guān)于Python使用requirements.txt和pip打包批量安裝的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python requirements.txt和pip打包批量安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何通過(guò)pycharm實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的查詢等操作(非多步操作)
這篇文章主要介紹了如何通過(guò)pycharm實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的查詢等操作(非多步操作),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07python標(biāo)準(zhǔn)庫(kù)random模塊處理隨機(jī)數(shù)
這篇文章主要介紹了python標(biāo)準(zhǔn)庫(kù)random模塊處理隨機(jī)數(shù),random模塊實(shí)現(xiàn)了各種分布的偽隨機(jī)數(shù)生成器,具體介紹感興趣的小伙伴可以參考一下2022-09-09Python3加密解密庫(kù)Crypto的RSA加解密和簽名/驗(yàn)簽實(shí)現(xiàn)方法實(shí)例
這篇文章主要介紹了Python3加密解密庫(kù)Crypto的RSA加解密和簽名/驗(yàn)簽實(shí)現(xiàn)方法實(shí)例,需要的朋友可以參考下2020-02-02Python求區(qū)間正整數(shù)內(nèi)所有素?cái)?shù)之和的方法實(shí)例
這篇文章主要給大家介紹了Python對(duì)區(qū)間正整數(shù)內(nèi)所有素?cái)?shù)之和的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python 在區(qū)塊鏈智能合約開發(fā)中的應(yīng)用與實(shí)踐小結(jié)
Python作為一種廣泛應(yīng)用的編程語(yǔ)言,在區(qū)塊鏈智能合約開發(fā)中扮演著重要角色,通過(guò)使用Python框架如Brownie和Web3.py,開發(fā)者可以輕松編寫和部署智能合約,感興趣的朋友一起看看吧2024-09-09Python和OpenCV進(jìn)行多尺度模板匹配實(shí)現(xiàn)
本文將實(shí)現(xiàn)如何將標(biāo)準(zhǔn)模板匹配擴(kuò)展到多尺度,使其可以處理模板和輸入圖像大小不同的匹配。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09PyQt5實(shí)現(xiàn)暗黑風(fēng)格的計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)暗黑風(fēng)格的計(jì)時(shí)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07利用Django-environ如何區(qū)分不同環(huán)境
這篇文章主要給大家介紹了關(guān)于利用Django-environ如何區(qū)分不同環(huán)境的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08Python 字符串大小寫轉(zhuǎn)換的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇Python 字符串大小寫轉(zhuǎn)換的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01