list.py 735 B

123456789101112131415161718192021222324252627282930313233
  1. import glob
  2. from pathlib import Path
  3. from ..manylinux import ensure_image, PythonVersion
  4. from ..utils.log import log
  5. __all__ = ['execute']
  6. def _unpack_args(args):
  7. '''Unpack command line arguments
  8. '''
  9. return (args.tag,)
  10. def execute(tag):
  11. '''List python versions installed in a manylinux image
  12. '''
  13. image = ensure_image(tag)
  14. pythons = []
  15. for path in glob.glob(str(image.path / 'opt/python/cp*')):
  16. path = Path(path)
  17. version = PythonVersion.from_str(path.readlink().name[8:]).long()
  18. pythons.append((path.name, version))
  19. pythons = sorted(pythons)
  20. for (abi, version) in pythons:
  21. log('LIST', "{:8} -> /opt/python/{:}".format(version, abi))
  22. return pythons