首页 > 解决方案 > 有什么方法可以使用 pip 获取没有版本信息的已安装模块?

问题描述

我试过了pip freeze。我需要它只输出由换行符分隔的模块,例如pip freeze,除了没有版本号,因为我正在尝试创建一个自动升级程序,并且想要pip install --upgrade <module>在“<module>”是没有版本号的模块名称的地方做,因为据我所知,如果您尝试升级模块,则不应该提供版本号。例如:

colorama  
Flask  
pywin32    

而不是pip freeze做什么:

colorama==\<version>  
Flask==\<version>  
pywin32==\<version>    

其中“<version>”是版本。
我查看了有关 pip 命令或选项的文档pip freeze,但没有找到。我在 Windows 10 上。

标签: pippython-packagingpython-importlib

解决方案


对于纯 Python ( 3.7+ ) 版本:

python -c "import importlib.metadata; print('\n'.join([d.metadata['Name'] for d in importlib.metadata.distributions()]))"

参考资料


推荐阅读