piplist用于查看已安装的库,指定的选项不同输出的结果就不同,我们可以根据需要指定不同的选项。 这里我们主要讲述以下几个常用选项:outdated、uptodate、local、user、path、pre、format、notrequired、exclude。outdated 这个选项用于列出可以更新的安装包,可以让我们知道哪些安装包需要更新了,比如在我机器上执行以下命令:piplistoutdated 输出如下内容:PackageVersionLatestTypeaiohttp3。6。23。8。1wheelattrs19。3。021。4。0wheelchardet3。0。44。0。0wheelidna2。93。3wheelmultidict4。7。55。2。0wheelsetuptools39。2。059。6。0wheelyarl1。4。21。7。2wheel 输出信息的每一行指出了可以更新到的版本以及安装包类型。uptodate 这个选项列出了已是最新版本无需更新的安装包,比如在我的机器上执行以下命令:piplistuptodate 输出如下内容:PackageVersionasynctimeout4。0。2dataclasses0。8Deprecated1。2。13idnassl1。1。0importlibmetadata4。8。3itsdangerous2。0。1MarkupSafe2。0。1packaging21。3pip21。3。1pyparsing3。0。7redis4。2。0typingextensions4。1。1Werkzeug2。0。3wrapt1。14。0zipp3。6。0 这些安装包的版本都是最新且无需更新的。local 这个选项告诉pip如果我们是在virtualenv下且有权访问全局安装包时,不列出全局安装包,比如在我机器上执行以下命令:piplistlocal 输出内容如下:PackageVersionclick8。0。4dataclasses0。8Flask2。0。3importlibmetadata4。8。3itsdangerous2。0。1Jinja23。0。3MarkupSafe2。0。1Pillow8。4。0pip20。0。2PyMySQL1。0。2setuptools46。1。3typingextensions4。1。1Werkzeug2。0。3wheel0。34。2zipp3。6。0 可见比前面不带local选项列出的少了一些。user 这个选项列出安装在usersite下的安装包,即执行pipinstalluser时安装的包,在我机器上执行以下命令:piplistuser 输出内容如下:PackageVersionasynctimeout4。0。2dataclasses0。8Deprecated1。2。13importlibmetadata4。8。3itsdangerous2。0。1MarkupSafe2。0。1packaging21。3pyparsing3。0。7redis4。2。0typingextensions4。1。1Werkzeug2。0。3wrapt1。14。0zipp3。6。0 这些安装包都安装在我机器上的这个目录下:。locallibpython3。6sitepackages。path 这个选项告诉pip只列出path指定目录下的安装包,比如在我机器上执行以下命令:piplistpath。locallibpython3。6sitepackages 输出内容与piplistuser是一样的。pre 默认情况下pip只列出稳定版本的包,通过指定这个选项就会同时列出预发布和开发中的版本,比如在我的机器上执行以下命令:piplistoutdatedpre 输出内容如下:PackageVersionLatestTypeaiohttp3。6。24。0。0a1wheelattrs19。3。021。4。0wheelchardet3。0。44。0。0wheelidna2。93。3wheelmultidict4。7。55。2。0wheelsetuptools39。2。059。6。0wheelyarl1。4。21。7。2wheel 可以看到aiohttp那一行包含了alpha版本:4。0。0a1format 这个选项指定输出格式,默认是列格式,这个选项有三个值可用,分别是:columns、freeze、json,比如执行以下命令:piplistuptodateformatfreeze 输出内容如下:asynctimeout4。0。2dataclasses0。8Deprecated1。2。13idnassl1。1。0importlibmetadata4。8。3itsdangerous2。0。1MarkupSafe2。0。1packaging21。3pip21。3。1pyparsing3。0。7redis4。2。0typingextensions4。1。1Werkzeug2。0。3wrapt1。14。0zipp3。6。0notrequired 这个选项告诉pip只列出不被其它安装包依赖的安装包,比如在我机器上执行以下命令:piplistnotrequired 输出内容如下:PackageVersionaiohttp3。6。2itsdangerous2。0。1MarkupSafe2。0。1pip21。3。1redis4。2。0setuptools39。2。0Werkzeug2。0。3exclude 这个选项告诉pip从列出的安装包中排除指定的安装包,也就是说这个选项指定的安装包不会出现在输出中,比如在我机器上执行以下命令:piplistnotrequiredexcludeaiohttp 输出如下:PackageVersionattrs19。3。0chardet3。0。4idnassl1。1。0itsdangerous2。0。1MarkupSafe2。0。1pip21。3。1redis4。2。0setuptools39。2。0Werkzeug2。0。3yarl1。4。2 可见输出的内容已经没有aiohttp这个安装包了。