Python requirements.txt 語法


前言

之前一直苦於一個問題,比如一些包在Win上安裝不了,比如 uvloop 但是為了提高效率,代碼中必須有這個模塊
在運行中可以通過 os 模塊判斷是否使用, 那依賴文件呢? requirements.txt 要不要有 uvloop 呢?

正文

其實我們可以通過語法來賦予 requirements.txt 一定的靈活性.
比如,我們使用 pip freeze > requirements.txt 時,輸出的大致為

每一行為 模塊名==版本號, 這其實就是一種語法, 用來標記安裝的模塊的版本號, 其實他還有更多功能
詳見官方文檔
PEP508-doc
語法有

這里拋磚引玉,只寫一個例子,就是根據系統OS判斷要不要裝某個模塊
比如 uvloop, 不支持 Windows
我們可以這樣寫

這樣就是判斷當前環境,如果為 Linux 就安裝 0.14.0uvloop 模塊,如果是其他環境就 pass
需要注意的是, Linux 是表格中寫的可選值(表格第6行列出可選Linux/Windows/Java)
請嚴格區分大小寫並不要寫錯,寫錯不會報錯但是識別不了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM