網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
Python使用requirements.txt和pip打包批量安裝的實(shí)現(xiàn)_python
作者:田辛?|?田豆芽 ? 更新時(shí)間: 2023-05-18 編程語(yǔ)言當(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
原文鏈接:https://blog.csdn.net/u013589130/article/details/129039961
相關(guān)推薦
- 2023-06-19 python中time模塊指定格式時(shí)間字符串轉(zhuǎn)為時(shí)間戳_python
- 2022-04-19 C#中的類繼承詳解_C#教程
- 2022-05-29 C#對(duì)XmlHelper幫助類操作Xml文檔的通用方法匯總_C#教程
- 2022-05-06 嵌入式C語(yǔ)言輕量級(jí)程序架構(gòu)內(nèi)核編寫_C 語(yǔ)言
- 2022-11-06 詳解Python中的null是什么_python
- 2022-09-09 Qt?QFtp客戶端實(shí)現(xiàn)上傳下載文件_C 語(yǔ)言
- 2024-03-10 【Redis】Redis 的主從同步
- 2022-03-20 Entity?Framework?Core關(guān)聯(lián)刪除_實(shí)用技巧
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支