<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在部署Python應用時,需要把第三方庫進行安裝,這裡可以使用requirements.txt
檔案,其中記錄了所有依賴包以及精確的版本號。
requirements.txt
檔案在我們存取開源 Python專案的時候,極常見。
簡單使用流程概述
使用pip freeze
命令生成requirements.txt
檔案,
如下所示:
pip freeze > requirements.txt
請注意:每包都獨佔一行,然後是版本號。
生成的檔案預設在控制檯執行目錄,也可以自定義目錄,建立檔案的時候增加檔案目錄即可
pip freeze > d:/requirements.txt
其中>
表示重定向,即 freeze 輸出的內容送到requirements.txt
檔案中。
遷移環境的時候,注意打包該檔案,然後使用如下命令部署
pip install -r requirements.txt
如果生成該檔案出現的時候出現 warning,建議使用python -m
去執行 pip freeze 命令。
如果你建立 Python 程式,或者安裝模組時,未使用虛擬環境,那在生成requirements.txt
檔案的時候,會將你本地所有的包都進行打包提取,部署前,需要人工進行篩選。
語法格式 在requirements.txt
檔案中,可以只寫第三方模組名稱,不指定版本號,預設安裝最新版本。
如果使用註釋,使用#
加文字內容。
模組名稱與版本號之間可以使用如下符號:
==
:等於>
:大於版本>=
:大於等於<
:小於版本<=
:小於等於版本~=
:相容版本,使用任何大於或等於指定版本,但不大於當前發行系列的版本,例如~=1.4.3
可以匹配1.4.3
到1.4.9
,但是不能匹配1.5.0
。在可選範圍內,安裝最新版本,當前最優先的依舊是等於的版本號。
可以使用逗號,
分隔兩個條件,例如下述程式碼:
package_name >= 1.0, <=2.0
上文提及如果希望 requirements.txt 檔案變得精簡,可以使用虛擬環境實現隔離,它將使用者的軟體包和系統的軟體包進行區分,允許我們為每個單獨的程式安裝模組。
常見的虛擬環境包如下所示:
但上述介紹存在潛在的問題是:
requirements.txt
檔案只包含一級依賴項及其版本,但如果我們的依賴項自身包含其它依賴項(二級以上),這些模組的版本不一定被鎖定。
此時就可能會出現一個由於版本不對應的問題,導致程式崩潰。
當然使用下述命令可以解決該問題
pip freeze > requirements.txt
但是使用該命令會產生延伸問題,如果你希望刪除一個模組,如何判斷其關聯依賴被刪除
在其他程式語言中,會建立2個檔案,一個用於定義依賴關係,另一個鎖定所有的次級依賴項及其版本。
解決上述問題,可以使用pip-tools
中的 pip-compile
。
該功能模組在pip-tools
中,所以需要先安裝該工具。
python -m pip install pip-tools -i https://pypi.douban.com/simple/
安裝完畢會在 Python 的 Scripts 資料夾中生成如下 exe 程式。
然後在你需要生成requirements.txt
的目錄中建立一個requirements.in
檔案,其中可以寫入你需要的模組
requests == 2.27.0
然後執行pip-compile
命令,輸出內容如下所示:
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
到此這篇關於python 中的requirements.txt 檔案的使用詳情的文章就介紹到這了,更多相關python requirements.txt內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45