如何導(dǎo)出python安裝的所有模塊名稱和版本號(hào)到文件中
Python 模塊概念
python中的模塊是什么?簡(jiǎn)而言之,在python中,一個(gè)文件(以“.py”為后綴名的文件)就叫做一個(gè)模塊,每一個(gè)模塊在python里都被看做是一個(gè)獨(dú)立的文件。模塊可以被項(xiàng)目中的其他模塊、一些腳本甚至是交互式的解析器所使用,它可以被其他程序引用,從而使用該模塊里的函數(shù)等功能,使用Python中的標(biāo)準(zhǔn)庫也是采用這種方法。
分類
在Python中模塊分為以下幾種:
系統(tǒng)內(nèi)置模塊,例如:sys、time、json模塊等等; 自定義模塊,自定義模塊是自己寫的模塊,對(duì)某段邏輯或某些函數(shù)進(jìn)行封裝后供其他函數(shù)調(diào)用。注意:自定義模塊的命名一定不能和系統(tǒng)內(nèi)置的模塊重名了,否則將不能再導(dǎo)入系統(tǒng)的內(nèi)置模塊了。例如:自定義了一個(gè)sys.py模塊后,再想使用系統(tǒng)的sys模塊是不能使用的; 第三方的開源模塊:這部分模塊可以通過pip install進(jìn)行安裝,有開源的代碼;一般查看python下安裝了什么包,我們可在命令行模式下輸入
$ pip list
輸出結(jié)果:
Package Version---------------------------------- ---------absl-py 0.9.0alabaster 0.7.12altgraph 0.16.1anaconda-client 1.7.2anaconda-navigator 1.9.7anaconda-project 0.8.3asn1crypto 1.0.1…
2也可以
$ pip freeze
輸出結(jié)果:
absl-py==0.9.0alabaster==0.7.12altgraph==0.16.1anaconda-client==1.7.2anaconda-navigator==1.9.7anaconda-project==0.8.3asn1crypto==1.0.1…
在python代碼中,可以用os.popen方法調(diào)用命令行代碼,返回輸出的對(duì)象,然后再將此寫入文件中:
import osinstalled_module_list = os.popen('pip freeze')# print(installed_module_list)with open('requirements.txt',’w’) as f: for m in installed_module_list.read(): f.write(m)
不過這樣顯然麻煩了,還有更簡(jiǎn)單的方法:
$ pip freeze >requirements.txt
這樣就直接將信息導(dǎo)出到文件中了
requirements.txt文件內(nèi)容如下:
在另一臺(tái)服務(wù)器上想部署相同的包,只需運(yùn)行:
$ pip install -r requirements.txt
總結(jié)
到此這篇關(guān)于導(dǎo)出python安裝的所有模塊名稱和版本號(hào)到文件中的文章就介紹到這了,更多相關(guān)python 模塊名稱版本號(hào)導(dǎo)出內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)2. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息3. jsp網(wǎng)頁實(shí)現(xiàn)貪吃蛇小游戲4. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向5. CSS hack用法案例詳解6. asp中response.write("中文")或者js中文亂碼問題7. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. PHP設(shè)計(jì)模式中工廠模式深入詳解9. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明10. ASP實(shí)現(xiàn)加法驗(yàn)證碼
