我尝试过
pip freeze
。我需要它只输出由换行符分隔的模块,例如 pip freeze
,但没有版本号,因为我正在尝试创建一个自动升级程序,并且想要执行 pip install --upgrade <module>
,其中“colorama
Flask
pywin32
而不是
pip freeze
会做什么:
colorama==\<version>
Flask==\<version>
pywin32==\<version>
其中“
我查看了
pip freeze
的 pip 命令或选项的文档,但没有找到。我使用的是 Windows 10。
对于 Linux / macOS:
pip freeze | awk -F "==" '{ print $1 }'
-F
用于指定自定义字段分隔符,$1
打印第一个字段。
对于 Windows,
awk
可能不可用:
pip freeze | py -c "for p in __import__('sys').stdin: print(p.split('=')[0])"
对于纯Python(3.7+)版本:
python -c "import importlib.metadata; print('\n'.join([d.metadata['Name'] for d in importlib.metadata.distributions()]))"
参考文献: