如何導(dǎo)出python安裝的所有模塊名稱(chēng)和版本號(hào)到文件中
Python 模塊
概念
python中的模塊是什么?簡(jiǎn)而言之,在python中,一個(gè)文件(以“.py”為后綴名的文件)就叫做一個(gè)模塊,每一個(gè)模塊在python里都被看做是一個(gè)獨(dú)立的文件。模塊可以被項(xiàng)目中的其他模塊、一些腳本甚至是交互式的解析器所使用,它可以被其他程序引用,從而使用該模塊里的函數(shù)等功能,使用Python中的標(biāo)準(zhǔn)庫(kù)也是采用這種方法。
分類(lèi)
在Python中模塊分為以下幾種:
- 系統(tǒng)內(nèi)置模塊,例如:sys、time、json模塊等等;
- 自定義模塊,自定義模塊是自己寫(xiě)的模塊,對(duì)某段邏輯或某些函數(shù)進(jìn)行封裝后供其他函數(shù)調(diào)用。注意:自定義模塊的命名一定不能和系統(tǒng)內(nèi)置的模塊重名了,否則將不能再導(dǎo)入系統(tǒng)的內(nèi)置模塊了。例如:自定義了一個(gè)sys.py模塊后,再想使用系統(tǒng)的sys模塊是不能使用的;
- 第三方的開(kāi)源模塊:這部分模塊可以通過(guò)pip install進(jìn)行安裝,有開(kāi)源的代碼;
一般查看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ì)象,然后再將此寫(xiě)入文件中:
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)
不過(guò)這樣顯然麻煩了,還有更簡(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安裝的所有模塊名稱(chēng)和版本號(hào)到文件中的文章就介紹到這了,更多相關(guān)python 模塊名稱(chēng)版本號(hào)導(dǎo)出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python內(nèi)建類(lèi)型str源碼學(xué)習(xí)
這篇文章主要為大家介紹了Python內(nèi)建類(lèi)型str的源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Django自定義User模型、認(rèn)證、權(quán)限控制的操作
這篇文章主要介紹了Django自定義User模型、認(rèn)證、權(quán)限控制的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04python?調(diào)制解調(diào)的實(shí)現(xiàn)
在Python中,可以使用SciPy和NumPy庫(kù)來(lái)處理信號(hào),包括進(jìn)行FM信號(hào)的解調(diào),本文主要介紹了python?調(diào)制解調(diào)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03pytorch之深度神經(jīng)網(wǎng)絡(luò)概念全面整理
這篇文章主要介紹了pytorch之深度神經(jīng)網(wǎng)絡(luò)概念,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09詳解Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)
本篇文章主要介紹了Python之?dāng)?shù)據(jù)序列化,本節(jié)要介紹的就是Python內(nèi)置的幾個(gè)用于進(jìn)行數(shù)據(jù)序列化的模塊,有興趣的可以了解一下。2017-03-03Python摳圖教程之使用OpenCV實(shí)現(xiàn)背景去除
這篇文章主要給大家介紹了關(guān)于Python摳圖教程之使用OpenCV實(shí)現(xiàn)背景去除的相關(guān)資料,背景去除是在很多視覺(jué)應(yīng)用里的主要預(yù)處理步驟,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Django基礎(chǔ)知識(shí)與基本應(yīng)用入門(mén)教程
這篇文章主要介紹了Django基礎(chǔ)知識(shí)與基本應(yīng)用,結(jié)合實(shí)例形式分析了Django框架基本的項(xiàng)目創(chuàng)建、啟動(dòng)、查看版本等操作,并結(jié)合一個(gè)簡(jiǎn)單的blog應(yīng)用示例分析了Django的基本使用方法,需要的朋友可以參考下2018-07-07Python3.10?Generator生成器Coroutine原生協(xié)程詳解
這篇文章主要為大家介紹了Python3.10?Generator生成器Coroutine原生協(xié)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12python是先運(yùn)行metaclass還是先有類(lèi)屬性解析
這篇文章主要為大家介紹了python是先運(yùn)行metaclass還是先有類(lèi)屬性的問(wèn)題原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05