mirror of
https://github.com/niess/python-appimage.git
synced 2025-09-08 10:40:07 +02:00
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
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
|