有什么方法可以使用 pip 获取没有版本信息的已安装模块?
Is there any way to get the installed modules without version info with pip?
我试过了pip freeze
。我需要它只输出由换行符分隔的模块,比如 pip freeze
,除了没有版本号,因为我正在尝试创建一个自动升级程序,并且想在 "" 处执行 pip install --upgrade <module>
是不带版本号的模块名称,因为据我所知,如果您尝试升级模块,则不应提供版本号。例如:
colorama
Flask
pywin32
而不是 pip freeze
会做的事情:
colorama==\<version>
Flask==\<version>
pywin32==\<version>
其中“”是版本。
我查看了 pip freeze
的 pip 命令或选项的文档,但发现了 none。我在 Windows 10.
对于 Linux / macOS:
pip freeze | awk -F "==" '{ print }'
这可能适用于 Windows:
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()]))"
参考资料:
我试过了pip freeze
。我需要它只输出由换行符分隔的模块,比如 pip freeze
,除了没有版本号,因为我正在尝试创建一个自动升级程序,并且想在 "pip install --upgrade <module>
是不带版本号的模块名称,因为据我所知,如果您尝试升级模块,则不应提供版本号。例如:
colorama
Flask
pywin32
而不是 pip freeze
会做的事情:
colorama==\<version>
Flask==\<version>
pywin32==\<version>
其中“
我查看了 pip freeze
的 pip 命令或选项的文档,但发现了 none。我在 Windows 10.
对于 Linux / macOS:
pip freeze | awk -F "==" '{ print }'
这可能适用于 Windows:
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()]))"
参考资料: