如何導(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.0
alabaster 0.7.12
altgraph 0.16.1
anaconda-client 1.7.2
anaconda-navigator 1.9.7
anaconda-project 0.8.3
asn1crypto 1.0.1
…
2
也可以
$ pip freeze
輸出結(jié)果:
absl-py==0.9.0
alabaster==0.7.12
altgraph==0.16.1
anaconda-client==1.7.2
anaconda-navigator==1.9.7
anaconda-project==0.8.3
asn1crypto==1.0.1
…
在python代碼中,可以用os.popen方法調(diào)用命令行代碼,返回輸出的對(duì)象,然后再將此寫入文件中:
import os
installed_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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何利用python寫GUI及生成.exe可執(zhí)行文件
工作中需要開發(fā)一個(gè)小工具,簡(jiǎn)單的UI界面可以很好的提高工具的實(shí)用性,由此開啟了我的第一次GUI開發(fā)之旅,這篇文章主要給大家介紹了關(guān)于如何利用python寫GUI及生成.exe可執(zhí)行文件的相關(guān)資料,需要的朋友可以參考下2021-12-12
python pandas合并Sheet,處理列亂序和出現(xiàn)Unnamed列的解決
這篇文章主要介紹了python pandas合并Sheet,處理列亂序和出現(xiàn)Unnamed列的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
分享8?個(gè)常用pandas的?index設(shè)置
這篇文章主要介紹了分享8?個(gè)常用pandas的?index設(shè)置,pandas?中的?index?是行索引或行標(biāo)簽。行標(biāo)簽可以說是?pandas?的靈魂一簽,支撐了?pandas?很多強(qiáng)大的業(yè)務(wù)功能,比如多個(gè)數(shù)據(jù)框的?join,?merge?操作,自動(dòng)對(duì)齊等,下面來看看文章得具體介紹吧2021-12-12
python進(jìn)行圖像邊緣檢測(cè)的詳細(xì)教程
相信大家對(duì)于邊緣檢測(cè)這幾個(gè)詞并不陌生,但是相對(duì)于如何處理,如何進(jìn)行圖像的邊緣檢測(cè)卻無能為力、束手無策了,下面這篇文章主要給大家介紹了關(guān)于python進(jìn)行圖像邊緣檢測(cè)的詳細(xì)教程,需要的朋友可以參考下2023-04-04
python 獲取鍵盤輸入,同時(shí)有超時(shí)的功能示例
今天小編就為大家分享一篇python 獲取鍵盤輸入,同時(shí)有超時(shí)的功能示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python使用pytorch動(dòng)手實(shí)現(xiàn)LSTM模塊
這篇文章主要介紹了Python使用pytorch動(dòng)手實(shí)現(xiàn)LSTM模塊,LSTM是RNN中一個(gè)較為流行的網(wǎng)絡(luò)模塊。主要包括輸入,輸入門,輸出門,遺忘門,激活函數(shù),全連接層(Cell)和輸出2022-07-07
Python中xml和dict格式轉(zhuǎn)換的示例代碼
最近在做APP的接口,遇到XML格式的請(qǐng)求數(shù)據(jù),費(fèi)了很大勁來解決,下面小編給大家分享下Python中xml和dict格式轉(zhuǎn)換問題,感興趣的朋友跟隨小編一起看看吧2019-11-11

