欢迎访问宙启技术站
智能推送

如何使用pip._internal.operations.freeze()获取Python中已安装的包及其版本信息

发布时间:2024-01-04 06:15:02

pip._internal.operations.freeze()函数可以用于获取Python中已安装的包及其版本信息。它的作用是生成一个类似于requirements.txt文件的文本字符串,其中包含已安装的每个包的名称和版本号。

要使用该函数,首先需要导入相应的模块:

import pip
from pip._internal.operations import freeze

然后,可以调用freeze()函数来获取已安装的包及其版本信息。该函数返回一个生成器,需要遍历才能获取每个包的名称和版本号。可以使用循环来遍历生成器并打印出结果:

for package in freeze.freeze():
    print(package)

输出的结果类似于:

appdirs==1.4.4
certifi==2021.5.30
chardet==4.0.0
click==8.0.1
colorama==0.4.4
distlib==0.3.1
filelock==3.0.12
idna==3.2
importlib-metadata==4.8.1
pip==21.2.4
pluggy==1.0.0
py==1.10.0
pyparsing==2.4.7
pytest==6.2.5
setuptools==57.4.0
six==1.16.0
toml==0.10.2
typing-extensions==3.10.0.2
urllib3==1.26.7

每一行都包含一个已安装的包的名称和版本号,中间使用==分隔。

通过使用这个函数,可以方便地获取已安装包的版本信息,并将其保存到文件中:

with open('requirements.txt', 'w') as f:
    for package in freeze.freeze():
        f.write(package + '
')

这将在当前目录下生成一个名为requirements.txt的文件,并将已安装包的名称和版本信息写入其中,每行一个。

使用pip._internal.operations.freeze()函数可以快速方便地获取Python中已安装的包及其版本信息,并在需要时进行操作,比如输出到控制台、保存到文件或与他人共享等。