python的依賴管理的實現(xiàn)
主流開發(fā)語言的包管理工具一般都是支持依賴管理的,比如PHP的composer、Java的mvn。
對于python來說又該如何管理依賴呢?
pip基本用法
python還不錯,它提供了pip命令來安裝依賴,同時pip會自動安裝間接依賴,的確是很方便的。
安裝依賴的命令是pip,舉個栗子:
pip install requests
然后可以看到一些打印信息:
Looking in indexes: http://mirrors.aliyun.com/pypi/simple
Requirement already satisfied: requests in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (2.21.0)
Requirement already satisfied: certifi>=2017.4.17 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (2018.4.16)
Requirement already satisfied: idna<2.9,>=2.5 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (2.7)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (3.0.4)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (1.23)
可以明確安裝的requests庫版本是2.21.0,這也可以后續(xù)通過pip freeze命令來查看:
pip freeze |grep requests requests==2.21.0 requests-oauthlib==1.0.0
編寫requirements.txt
為了將開發(fā)時的依賴保留下來,我們可以編寫一個文本文件叫做requirements.txt,內(nèi)容如下:
requests==2.21.0
記得把這個文件提交到源碼倉庫的根目錄,我們可以看到python開源項目都遵循這個套路,比如kubenetes-client的 requirements.txt :
certifi>=14.05.14 # MPL six>=1.9.0 # MIT python-dateutil>=2.5.3 # BSD setuptools>=21.0.0 # PSF/ZPL urllib3>=1.23 # MIT pyyaml>=3.12 # MIT google-auth>=1.0.1 # Apache-2.0 ipaddress>=1.0.17;python_version=="2.7" # PSF websocket-client>=0.32.0,!=0.40.0,!=0.41.*,!=0.42.* # LGPLv2+ requests # Apache-2.0 requests-oauthlib # ISC
安裝所有依賴
當我們變更部署環(huán)境時,通過執(zhí)行如下命令即可安裝所有依賴:
pip install -r requirements.txt
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python程序打包工具py2exe和PyInstaller詳解
這篇文章主要介紹了Python程序打包工具py2exe和PyInstaller詳解,如果可以提前將程序打包成 Windows平臺的 .exe 文件或者是Linux下的 .sh 腳本,那么使用起來就會方便很多,需要的朋友可以參考下2019-06-06
Pandas?DataFrame.drop()刪除數(shù)據(jù)的方法實例
pandas作為數(shù)據(jù)分析強大的庫,是基于numpy數(shù)組構建的,專門用來處理表格和混雜的數(shù)據(jù),下面這篇文章主要給大家介紹了關于Pandas?DataFrame.drop()刪除數(shù)據(jù)的相關資料,需要的朋友可以參考下2022-07-07
python 對任意數(shù)據(jù)和曲線進行擬合并求出函數(shù)表達式的三種解決方案
這篇文章主要介紹了python 對任意數(shù)據(jù)和曲線進行擬合并求出函數(shù)表達式的三種解決方案,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
如何用scheduler實現(xiàn)learning-rate學習率動態(tài)變化
這篇文章主要介紹了如何用scheduler實現(xiàn)learning-rate學習率動態(tài)變化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

