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

