如何导出python安装的所有模块名称和版本号到文件中
(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )
Python 模块
概念
python中的模块是什么?简而言之,在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。
分类
在Python中模块分为以下几种:
- 系统内置模块,例如:sys、time、json模块等等;
- 自定义模块,自定义模块是自己写的模块,对某段逻辑或某些函数进行封装后供其他函数调用。注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。例如:自定义了一个sys.py模块后,再想使用系统的sys模块是不能使用的;
- 第三方的开源模块:这部分模块可以通过pip install进行安装,有开源的代码;
一般查看python下安装了什么包,我们可在命令行模式下输入
$ pip list
输出结果:
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
输出结果:
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方法调用命令行代码,返回输出的对象,然后再将此写入文件中:
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)
不过这样显然麻烦了,还有更简单的方法:
$ pip freeze >requirements.txt
这样就直接将信息导出到文件中了
requirements.txt文件内容如下:
在另一台服务器上想部署相同的包,只需运行:
$ pip install -r requirements.txt
总结
下一篇:在python中list作函数形参,防止被实参修改的实现方法