由于一些自定义的日志记录,我想从一个wheel文件中获取版本号。
我当然可以解析文件名,但我的猜测是有更好的方法来做到这一点。
由于一些自定义的日志记录,我想从一个wheel文件中获取版本号。
我当然可以解析文件名,但我的猜测是有更好的方法来做到这一点。
你还可以使用 pkginfo,例如:
from pkginfo import Wheel
w = Wheel(r'C:\path\to\package.whl')
print(w.version)
对于轮子的文件名,简单解析即可:
>>> 'torch-1.8.1-cp39-cp39-manylinux1_x86_64.whl'.split('-')[1]
'1.8.1'
如果你想更加高级一些,你也可以使用wheel-filename来为你完成这个解析:
>>> from wheel_filename import parse_wheel_filename
>>> pwf = parse_wheel_filename('pip-18.0-py2.py3-none-any.whl')
>>> pwf.version
'18.0'
如果你只需要快速计算一个单独包的版本,你可以使用我创建的这个 Codepen 页面,从 wheel 文件名中获取版本和更多细节: https://codepen.io/chaitan94/full/mdWEeBp
我现在所做的是:
获取包信息并将其放入一个 dict
中:
import os
def get_package_info():
info_dict = {}
with open(os.path.join(glob.glob("./*.egg-info")[0], "PKG-INFO"), "r") as info:
for i in info:
i = i.split(":")
info_dict[i[0].strip()] = i[1].strip()
return info_dict
if __name__ == '__main__':
print(get_package_info())
现在我可以从这个字典中获取版本。
如果有人对此有更好的方法,请告诉我。