国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解python中requirements.txt的一切

2019-11-25 16:20:18
字體:
供稿:網(wǎng)友

簡介

Python項目中必須包含一個 requirements.txt 文件,用于記錄所有依賴包及其精確的版本號。以便新環(huán)境部署。

主要的寫法如下所示

pip freeze > requirements.txt # 生成requirements.txtpip install -r requirements.txt # 從requirements.txt安裝依賴

支持的寫法

-r base.txt # base.txt下面的所有包pypinyin==0.12.0 # 指定版本(最日常的寫法)django-querycount>=0.5.0 # 大于某個版本django-debug-toolbar>=1.3.1,<=1.3.3 # 版本范圍ipython # 默認(存在不替換,不存在安裝最新版)

第三方工具生成

pip freeze 會附帶上一些不需要的包,以及某些包依賴的包~

    pipreqs 自動分析項目中引用的包。對Django項目自動構(gòu)建的時候忽略了Mysql包,版本也很奇怪;而且聯(lián)網(wǎng)搜索的時候遇到404就報錯跳出了😂

    pigar 功能同上,會顯示包被項目文件引用的地方(搜索下就能解決的問題啊= =感覺是偽需求),404的問題也存在

    pip-tools 通過第三方文件生成requirements.txt,講道理為什么不直接寫呢,要通過第三方包來做一層轉(zhuǎn)換

推薦用法

一般項目會分為開發(fā)環(huán)境,測試環(huán)境,生產(chǎn)環(huán)境等……依賴的包會不同。推薦在文件夾下為每個環(huán)境建立一個requirements.txt文件。公有的包存在base.txt供引用

➜ meeting git:(sync) ✗ tree requirements -hrequirements├── [ 286] base.txt├── [ 80] local.txt└── [ 28] production.txt

由于上面提到的工具并不好用~還是推薦手動維護依賴列表。畢竟pip安裝后馬上去編輯下依賴文件也不是什么麻煩事

setup.py 與 requirements.txt 區(qū)別

setup.py 這個文件是用來管理模塊的,你可以將你的項目打包為模塊上傳到 pypi 中,也同樣能將項目作為模塊放入python 的系統(tǒng)加載模塊目錄下。

requiremens.txt 這個文件是列舉你這個項目引用了哪些非本項目的依賴的,除此之外,沒有其他作用。

因此,可以看出這兩個項目其實并沒有沖突關(guān)系,而且有很大共存的必要。

  1. 假如你的項目需要保存為系統(tǒng)模塊,或者可安裝為系統(tǒng)命令的 setup.py 就必不可少了
  2. 假如你的項目是可以直接運行的,那么 requirements.txt 也是必不可少。
  3. 如果你兩種功能都需要,那么就兩個文件都不能少。

有這兩種功能都需要的么?

必須有啊,而且還很多,例如 Flask,他就支持兩種方式:

  1. 以系統(tǒng)命令的方式啟動,在 Flask 0.11.1 中新加入了一個 Click 包,他可以讓你 setup 之后以命令的方式運行
  2. 直接運行,傳統(tǒng)的 Flask 啟動方式一般就是 app.run() 或者 python manage.py runserver

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作能帶來一定的幫助,如果疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 四川省| 鸡西市| 枞阳县| 垣曲县| 金秀| 平南县| 石景山区| 镇康县| 乐清市| 葫芦岛市| 白城市| 开封市| 海丰县| 平塘县| 白水县| 台湾省| 高邑县| 潞西市| 沙坪坝区| 湖口县| 额敏县| 泰宁县| 山西省| 怀集县| 靖边县| 乌审旗| 霍山县| 洛阳市| 镶黄旗| 玛纳斯县| 梨树县| 临颍县| 莱西市| 桦甸市| 措美县| 翁源县| 禄丰县| 叶城县| 嫩江县| 泊头市| 五寨县|