| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import os
- from ..utils.docker import docker_run
- from ..utils.log import log
- from ..utils.tmp import TemporaryDirectory
- __all__ = ['execute']
- def _unpack_args(args):
- '''Unpack command line arguments
- '''
- return (args.tag,)
- def execute(tag):
- '''List python versions installed in a manylinux image
- '''
- with TemporaryDirectory() as tmpdir:
- script = (
- 'for dir in $(ls /opt/python | grep "^cp[0-9]"); do',
- ' version=$(/opt/python/$dir/bin/python -c "import sys; ' \
- 'sys.stdout.write(sys.version.split()[0])")',
- ' echo "$dir $version"',
- 'done',
- )
- if tag.startswith('2_'):
- image = 'manylinux_' + tag
- else:
- image = 'manylinux' + tag
- result = docker_run(
- 'quay.io/pypa/' + image,
- script,
- capture = True
- )
- pythons = [line.split() for line in result.split(os.linesep) if line]
- for (abi, version) in pythons:
- log('LIST', "{:7} -> /opt/python/{:}".format(version, abi))
- return pythons
|