With multiple operating systems available, it's ideal to have a program that works everywhere, but in reality you may have to write an OS-dependent program.
In this article, I've collected how to determine OS = platform in order to make Python more portable.
The platforms we have confirmed (including plans to confirm) are as follows.
Target | used Python Ver. |
sys.platform | os.name | platform.platform()[^1] platform.platform(aliased)[^1] |
---|---|---|---|---|
(1) Ubuntu 18.04 | 3.6.8 | linux | posix | Linux-4.15.0-88-generic-x86_64-with-Ubuntu-18.04-bionic Same as above |
(2) Ubuntu 18.04 - Windows Subprocess for Linux | 3.6.9 | linux | posix | Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic Same as above |
(3) Ubuntu 19.04 | Not implemented | |||
(4) Ubuntu 19.10 | Not implemented | |||
(5) Ubuntu 20.04 | 3.8.2 | linux | posix | Linux-5.4.0-29-generic-x86_64-with-glibc2.29 Same as above |
(6) CentOS 6 | 3.6.8 | linux | posix | Linux-2.6.32-754.el6.x86_64-x86_64-with-centos-6.10-Final Same as above |
(7) CentOS 7 | 3.6.8 | linux | posix | Linux-3.10.0-1062.el7.x86_64-x86_64-with-centos-7.7.1908-Core Same as above |
(8) CentOS 8 | Not implemented | |||
(9) alpine on Docker on Ubuntu 18.04 | 3.8.2 | linux | posix | Linux-4.15.0-88-generic-x86_64-with Same as above |
(10) Windows Native Python | 3.8.2 | win32 | nt | Windows-10-10.0.18362-SP0 Same as above |
(11) Windows Anaconda | 3.7.6 | win32 | nt | Windows-10-10.0.18362-SP0 Same as above |
(12) Solaris 10 | 2.6.4 | sunos5 | posix | SunOS-5.10-i86pc-i386-32bit-ELF Solaris-2.10-i86pc-i386-32bit-ELF |
(13) Solaris 11 | 2.7.9 | sunos5 | posix | SunOS-5.11-i86pc-i386-32bit-ELF Solaris-2.11-i86pc-i386-32bit-ELF |
(14) FreeBSD 12.1 | 3.7.7 | freebsd12 | posix | FreeBSD-12.1-RELEASE-amd64-64bit-ELF Same as above |
(15) Raspbian (buster) | 3.7.3 | linux | posix | Linux-4.19.97-v7+-armv7l-with-debian-10.3 Same as above |
(16) Ubuntu 18.04 on Docker on Raspbian | 3.6.9 | linux | posix | Linux-4.19.97-v7+-armv7l-with-Ubuntu-18.04-bionic Same as above |
(17) CentOS 7 on Docker on Raspbian | 3.6.8 | linux | posix | Linux-4.19.97-v7+-armv7l-with-centos-7.6.1810-AltArch Same as above |
(18) alpine on Docker on Raspbian | 3.8.2 | linux | posix | Linux-4.19.97-v7+-armv7l-with Same as above |
[^ 1]: Both terse = False
Python Platform Tips
Platform
sys.platform
sys.platform - sys ― System-specific parameters and functions ― Python 3.8.2 documentation
sys.platform
This string contains a platform identifier that can be used to append platform-specific components to sys.path, for instance.
For Unix systems, except on Linux and AIX, this is the lowercased OS name as returned by uname -s with the first part of the version as returned by uname -r appended, e.g. 'sunos5' or 'freebsd8', at the time when Python was built. Unless you want to test for a specific system version, it is therefore recommended to use the following idiom:
if sys.platform.startswith('freebsd'): # FreeBSD-specific code here... elif sys.platform.startswith('linux'): # Linux-specific code here... elif sys.platform.startswith('aix'): # AIX-specific code here...
For other systems, the values are:
System platform value AIX 'aix' Linux 'linux' Windows 'win32' Windows/Cygwin 'cygwin' macOS 'darwin'
tips.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from six import print_
#def print_(*args):
# for s in args:
# print s,
# print
import sys
print_("==================== sys.version ====================")
print_("sys.version:", sys.version)
print_("==================== sys.version_info ====================")
print_("sys.version_info:", sys.version_info)
print_("==================== sys.platform ====================")
sys_platform_str = sys.platform
print_("sys.platform:", sys_platform_str)
if sys_platform_str.startswith('sunos'):
print_("{getstring}: Solaris/SunOS".format(getstring=sys_platform_str))
elif sys_platform_str.startswith('freebsd'):
print_("{getstring}: FreeBSD".format(getstring=sys_platform_str))
elif sys_platform_str.startswith('aix'):
print_("{getstring}: AIX".format(getstring=sys_platform_str))
elif sys_platform_str.startswith('linux2'):
print_("{getstring}: docker/Windows Subsystem for Linux".format(getstring=sys_platform_str))
elif sys_platform_str.startswith('linux'):
print_("{getstring}: Linux".format(getstring=sys_platform_str))
elif sys_platform_str.startswith('win32'):
print_("{getstring}: Windows".format(getstring=sys_platform_str))
elif sys_platform_str.startswith('cygwin'):
print_("{getstring}: Windows/Cygwin".format(getstring=sys_platform_str))
elif sys_platform_str.startswith('darwin'):
print_("{getstring}: macOS".format(getstring=sys_platform_str))
else:
print_("{getstring}: Unknown".format(getstring=sys_platform_str))
import os
print_("==================== os.name ====================")
os_name_str = os.name
if os_name_str.startswith('nt'):
print_("{getstring}: Windows".format(getstring=os_name_str))
elif os_name_str.startswith('posix'):
print_("{getstring}: macOS, Linux or UNIX".format(getstring=os_name_str))
else:
print_("{getstring}: unknown".format(getstring=os_name_str))
try:
os_uname = os.uname()
except Exception as e:
pass
else:
print_("==================== os.uname() ====================")
print_("os.uname():", os_uname)
print_("os.uname()[0:]:", os_uname[0:])
sysname, nodename, release, version, machine = os.uname()
print_('sysname: "{sysname}", nodename: "{nodename}", ' \
'release: "{release}", version: "{version}", machine: "{machine}"' \
.format(sysname=sysname,
nodename=nodename,
release=release,
version=version,
machine=machine))
uname = {}
uname['sysname'], uname['nodename'], uname['release'], \
uname['version'], uname['machine'] = os.uname()
print_('sysname: "{sysname}", nodename: "{nodename}", '
'release: "{release}", version: "{version}", machine: "{machine}"' \
.format(sysname=uname['sysname'],
nodename=uname['nodename'],
release=uname['release'],
version=uname['version'],
machine=uname['machine']))
import platform
print_("==================== platform.platform() ====================")
print_("platform.platform(aliased=True, terse=False):",
platform.platform(aliased=True, terse=False))
print_("platform.platform(aliased=True, terse=True):",
platform.platform(aliased=True, terse=True))
print_("platform.platform(aliased=False, terse=False):",
platform.platform(aliased=False, terse=False))
print_("platform.platform(aliased=False, terse=True):",
platform.platform(aliased=False, terse=True))
platform_str = platform.platform(aliased=True, terse=True)
if platform_str.startswith('Windows-10'):
print_("{getstring}: Windows 10".format(getstring=platform_str))
elif platform_str.startswith('Linux'):
print_("{getstring}: Linux".format(getstring=platform_str))
elif platform_str.startswith('Solaris-2'):
print_("{getstring}: Solaris".format(getstring=platform_str))
if platform_str.startswith('Solaris-2.10'):
print_(" Solaris 10")
elif platform_str.startswith('Solaris-2.11'):
print_(" Solaris 11")
else:
print_(" Solaris ??")
else:
print_("{getstring}: Unknown".format(getstring=platform_str))
print_("==================== platform.*() ====================")
print_("platform.architecture():", platform.architecture())
print_(" sys.maxsize =", sys.maxsize)
print_(" sys.maxsize > 2**32 -->", sys.maxsize > 2**32)
print_("platform.machine():", platform.machine())
print_("platform.node():", platform.node())
print_("platform.processor():", platform.processor())
print_("platform.python_build():", platform.python_build())
print_("platform.python_compiler():", platform.python_compiler())
print_("platform.python_branch():", platform.python_branch())
print_("platform.python_implementation():", platform.python_implementation())
print_("platform.python_revision():", platform.python_revision())
print_("platform.python_version():", platform.python_version())
print_("platform.python_version_tuple():", platform.python_version_tuple())
print_("platform.release():", platform.release())
print_("platform.system():", platform.system())
print_("platform.system_alias():", platform.system_alias(platform.system(), platform.release(), platform.version()))
print_("platform.version():", platform.version())
print_("platform.uname():", platform.uname())
print_("platform.java_ver():", platform.java_ver())
print_("platform.win32_ver():", platform.win32_ver())
if sys.version_info[0:2] >= (3, 8):
print_("platform.win32_edition():", platform.win32_edition())
if sys.version_info[0:2] >= (3, 8):
print_("platform.win32_is_iot():", platform.win32_is_iot())
#print_("platform.popen():", platform.popen())
print_("platform.libc_ver():", platform.libc_ver())
if sys.version_info[0:2] >= (3, 8):
print_("platform.mac_ver() - macOS version:", platform.mac_ver())
else:
print_("platform.mac_ver() - darwin version:", platform.mac_ver())
#### Linux Distribution
if sys.platform.startswith('linux'):
if sys.version_info[0:2] < (2, 6): # not recomend over 2.6
print_("platform.dist():", platform.dist())
dist_name, dist_version, dist_id = platform.dist()
elif sys.version_info[0:2] < (3, 5): # not recomend over 3.5 and removed on 3.8
print_("platform.linux_distribution():", platform.linux_distribution())
print_("platform.linux_distribution(full_distribution_name=True):", platform.linux_distribution(full_distribution_name=True))
print_("platform.linux_distribution(full_distribution_name=False):", platform.linux_distribution(full_distribution_name=False))
dist_name, dist_version, dist_id = platform.linux_distribution(full_distribution_name=False)
else:
import distro
print_("==================== distro.linux_distribution() ====================")
print_("distro.linux_distribution():", distro.linux_distribution())
print_("distro.linux_distribution(full_distribution_name=True):", distro.linux_distribution(full_distribution_name=True))
print_("distro.linux_distribution(full_distribution_name=False):", distro.linux_distribution(full_distribution_name=False))
dist_name, dist_version, dist_id = distro.linux_distribution(full_distribution_name=False)
if dist_name.lower().startswith('centos') and dist_version.startswith('7'):
print_(" CentOS 7")
elif dist_name.lower().startswith('centos') and dist_version.startswith('6'):
print_(" CentOS 6")
elif dist_name.lower().startswith('ubuntu') and dist_version.startswith('18.04'):
print_(" Ubuntu 18.04")
elif dist_name.lower().startswith('raspbian'):
if dist_id.startswith('buster'):
print_(" Raspbian (buster)")
elif dist_id.startswith('bionic'):
print_(" Raspbian (bionic)")
Linux
Ubuntu
(1) Ubuntu 18.04
/etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
(tips) $ uname -a
Linux ubuntu 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
(tips) $
(tips) $ python tips.py
==================== sys.version ====================
sys.version: 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=6, micro=9, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='ubuntu', release='4.15.0-72-generic', version='#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019', machine='x86_64')
os.uname()[0:]: ('Linux', 'ubuntu', '4.15.0-72-generic', '#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019', 'x86_64')
sysname: "Linux", nodename: "ubuntu", release: "4.15.0-72-generic", version: "#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019", machine: "x86_64"
sysname: "Linux", nodename: "ubuntu", release: "4.15.0-72-generic", version: "#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019", machine: "x86_64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.15.0-72-generic-x86_64-with-Ubuntu-18.04-bionic
platform.platform(aliased=True, terse=True): Linux-4.15.0-72-generic-x86_64-with-glibc2.25
platform.platform(aliased=False, terse=False): Linux-4.15.0-72-generic-x86_64-with-Ubuntu-18.04-bionic
platform.platform(aliased=False, terse=True): Linux-4.15.0-72-generic-x86_64-with-glibc2.25
Linux-4.15.0-72-generic-x86_64-with-glibc2.25: Linux
==================== platform.*() ====================
platform.architecture(): ('64bit', 'ELF')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): x86_64
platform.node(): ubuntu
platform.processor(): x86_64
platform.python_build(): ('default', 'Nov 7 2019 10:44:02')
platform.python_compiler(): GCC 8.3.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.6.9
platform.python_version_tuple(): ('3', '6', '9')
platform.release(): 4.15.0-72-generic
platform.system(): Linux
platform.system_alias(): ('Linux', '4.15.0-72-generic', '#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019')
platform.version(): #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019
platform.uname(): uname_result(system='Linux', node='ubuntu', release='4.15.0-72-generic', version='#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019', machine='x86_64', processor='x86_64')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.25')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=True): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=False): ('ubuntu', '18.04', 'bionic')
Ubuntu 18.04
(tips) $
(2) Ubuntu - Windows Subprocess for Linux (WSL)
/etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
(tips) $ python tips.py
==================== sys.version ====================
sys.version: 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=6, micro=9, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='localhost', release='4.4.0-18362-Microsoft', version='#476-Microsoft Fri Nov 01 16:53:00 PST 2019', machine='x86_64')
os.uname()[0:]: ('Linux', 'localhost', '4.4.0-18362-Microsoft', '#476-Microsoft Fri Nov 01 16:53:00 PST 2019', 'x86_64')
sysname: "Linux", nodename: "localhost", release: "4.4.0-18362-Microsoft", version: "#476-Microsoft Fri Nov 01 16:53:00 PST 2019", machine: "x86_64"
sysname: "Linux", nodename: "localhost", release: "4.4.0-18362-Microsoft", version: "#476-Microsoft Fri Nov 01 16:53:00 PST 2019", machine: "x86_64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic
platform.platform(aliased=True, terse=True): Linux-4.4.0-18362-Microsoft-x86_64-with-glibc2.25
platform.platform(aliased=False, terse=False): Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic
platform.platform(aliased=False, terse=True): Linux-4.4.0-18362-Microsoft-x86_64-with-glibc2.25
Linux-4.4.0-18362-Microsoft-x86_64-with-glibc2.25: Linux
==================== platform.*() ====================
platform.architecture(): ('64bit', 'ELF')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): x86_64
platform.node(): localhost
platform.processor(): x86_64
platform.python_build(): ('default', 'Nov 7 2019 10:44:02')
platform.python_compiler(): GCC 8.3.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.6.9
platform.python_version_tuple(): ('3', '6', '9')
platform.release(): 4.4.0-18362-Microsoft
platform.system(): Linux
platform.system_alias(): ('Linux', '4.4.0-18362-Microsoft', '#476-Microsoft Fri Nov 01 16:53:00 PST 2019')
platform.version(): #476-Microsoft Fri Nov 01 16:53:00 PST 2019
platform.uname(): uname_result(system='Linux', node='localhost', release='4.4.0-18362-Microsoft', version='#476-Microsoft Fri Nov 01 16:53:00 PST 2019', machine='x86_64', processor='x86_64')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.25')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=True): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=False): ('ubuntu', '18.04', 'bionic')
Ubuntu 18.04
(tips) $
(3) Ubuntu 19.04 Not implemented
(4) Ubuntu 19.10 Not implemented
(5) Ubuntu 20.04
/etc/os-release
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
(tips) $ python tips.py
==================== sys.version ====================
sys.version: 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=8, micro=2, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='localhost', release='5.4.0-29-generic', version='#33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020', machine='x86_64')
os.uname()[0:]: ('Linux', 'localhost', '5.4.0-29-generic', '#33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020', 'x86_64')
sysname: "Linux", nodename: "localhost", release: "5.4.0-29-generic", version: "#33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020", machine: "x86_64"
sysname: "Linux", nodename: "localhost", release: "5.4.0-29-generic", version: "#33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020", machine: "x86_64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-5.4.0-29-generic-x86_64-with-glibc2.29
platform.platform(aliased=True, terse=True): Linux-5.4.0-29-generic-x86_64-with-glibc2.29
platform.platform(aliased=False, terse=False): Linux-5.4.0-29-generic-x86_64-with-glibc2.29
platform.platform(aliased=False, terse=True): Linux-5.4.0-29-generic-x86_64-with-glibc2.29
Linux-5.4.0-29-generic-x86_64-with-glibc2.29: Linux
==================== platform.*() ====================
platform.architecture(): ('64bit', 'ELF')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): x86_64
platform.node(): localhost
platform.processor(): x86_64
platform.python_build(): ('default', 'Apr 27 2020 15:53:34')
platform.python_compiler(): GCC 9.3.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.8.2
platform.python_version_tuple(): ('3', '8', '2')
platform.release(): 5.4.0-29-generic
platform.system(): Linux
platform.system_alias(): ('Linux', '5.4.0-29-generic', '#33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020')
platform.version(): #33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020
platform.uname(): uname_result(system='Linux', node='localhost', release='5.4.0-29-generic', version='#33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020', machine='x86_64', processor='x86_64')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.win32_edition(): None
platform.win32_is_iot(): False
platform.libc_ver(): ('glibc', '2.31')
platform.mac_ver() - macOS version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Ubuntu', '20.04', 'focal')
distro.linux_distribution(full_distribution_name=True): ('Ubuntu', '20.04', 'focal')
distro.linux_distribution(full_distribution_name=False): ('ubuntu', '20.04', 'focal')
(tips) $
CentOS
(6) CentOS 6
/etc/redhat-release
CentOS release 6.10 (Final)
(tips) $ uname -a
Linux localhost.localdomain 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
(tips) $
(tips) $ python tips.py
==================== sys.version ====================
sys.version: 3.6.8 (default, Aug 10 2019, 06:52:10)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=6, micro=8, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='localhost.localdomain', release='2.6.32-754.el6.x86_64', version='#1 SMP Tue Jun 19 21:26:04 UTC 2018', machine='x86_64')
os.uname()[0:]: ('Linux', 'localhost.localdomain', '2.6.32-754.el6.x86_64', '#1 SMP Tue Jun 19 21:26:04 UTC 2018', 'x86_64')
sysname: "Linux", nodename: "localhost.localdomain", release: "2.6.32-754.el6.x86_64", version: "#1 SMP Tue Jun 19 21:26:04 UTC 2018", machine: "x86_64"
sysname: "Linux", nodename: "localhost.localdomain", release: "2.6.32-754.el6.x86_64", version: "#1 SMP Tue Jun 19 21:26:04 UTC 2018", machine: "x86_64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-2.6.32-754.el6.x86_64-x86_64-with-centos-6.10-Final
platform.platform(aliased=True, terse=True): Linux-2.6.32-754.el6.x86_64-x86_64-with-glibc2.3.4
platform.platform(aliased=False, terse=False): Linux-2.6.32-754.el6.x86_64-x86_64-with-centos-6.10-Final
platform.platform(aliased=False, terse=True): Linux-2.6.32-754.el6.x86_64-x86_64-with-glibc2.3.4
Linux-2.6.32-754.el6.x86_64-x86_64-with-glibc2.3.4: Linux
==================== platform.*() ====================
platform.architecture(): ('64bit', 'ELF')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): x86_64
platform.node(): localhost.localdomain
platform.processor(): x86_64
platform.python_build(): ('default', 'Aug 10 2019 06:52:10')
platform.python_compiler(): GCC 4.4.7 20120313 (Red Hat 4.4.7-23)
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.6.8
platform.python_version_tuple(): ('3', '6', '8')
platform.release(): 2.6.32-754.el6.x86_64
platform.system(): Linux
platform.system_alias(): ('Linux', '2.6.32-754.el6.x86_64', '#1 SMP Tue Jun 19 21:26:04 UTC 2018')
platform.version(): #1 SMP Tue Jun 19 21:26:04 UTC 2018
platform.uname(): uname_result(system='Linux', node='localhost.localdomain', release='2.6.32-754.el6.x86_64', version='#1 SMP Tue Jun 19 21:26:04 UTC 2018', machine='x86_64', processor='x86_64')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.3.4')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('CentOS', '6.10', 'Final')
distro.linux_distribution(full_distribution_name=True): ('CentOS', '6.10', 'Final')
distro.linux_distribution(full_distribution_name=False): ('centos', '6.10', 'Final')
CentOS 6
(tips) $
(7) CentOS 7
/etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
(tips) $ uname -a
Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
(tips) $
(tips) $ python tips.py
==================== sys.version ====================
sys.version: 3.6.8 (default, Aug 7 2019, 17:28:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=6, micro=8, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='localhost.localdomain', release='3.10.0-1062.el7.x86_64', version='#1 SMP Wed Aug 7 18:08:02 UTC 2019', machine='x86_64')
os.uname()[0:]: ('Linux', 'localhost.localdomain', '3.10.0-1062.el7.x86_64', '#1 SMP Wed Aug 7 18:08:02 UTC 2019', 'x86_64')
sysname: "Linux", nodename: "localhost.localdomain", release: "3.10.0-1062.el7.x86_64", version: "#1 SMP Wed Aug 7 18:08:02 UTC 2019", machine: "x86_64"
sysname: "Linux", nodename: "localhost.localdomain", release: "3.10.0-1062.el7.x86_64", version: "#1 SMP Wed Aug 7 18:08:02 UTC 2019", machine: "x86_64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-3.10.0-1062.el7.x86_64-x86_64-with-centos-7.7.1908-Core
platform.platform(aliased=True, terse=True): Linux-3.10.0-1062.el7.x86_64-x86_64-with-glibc2.3.4
platform.platform(aliased=False, terse=False): Linux-3.10.0-1062.el7.x86_64-x86_64-with-centos-7.7.1908-Core
platform.platform(aliased=False, terse=True): Linux-3.10.0-1062.el7.x86_64-x86_64-with-glibc2.3.4
Linux-3.10.0-1062.el7.x86_64-x86_64-with-glibc2.3.4: Linux
==================== platform.*() ====================
platform.architecture(): ('64bit', 'ELF')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): x86_64
platform.node(): localhost.localdomain
platform.processor(): x86_64
platform.python_build(): ('default', 'Aug 7 2019 17:28:10')
platform.python_compiler(): GCC 4.8.5 20150623 (Red Hat 4.8.5-39)
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.6.8
platform.python_version_tuple(): ('3', '6', '8')
platform.release(): 3.10.0-1062.el7.x86_64
platform.system(): Linux
platform.system_alias(): ('Linux', '3.10.0-1062.el7.x86_64', '#1 SMP Wed Aug 7 18:08:02 UTC 2019')
platform.version(): #1 SMP Wed Aug 7 18:08:02 UTC 2019
platform.uname(): uname_result(system='Linux', node='localhost.localdomain', release='3.10.0-1062.el7.x86_64', version='#1 SMP Wed Aug 7 18:08:02 UTC 2019', machine='x86_64', processor='x86_64')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.3.4')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('CentOS Linux', '7', 'Core')
distro.linux_distribution(full_distribution_name=True): ('CentOS Linux', '7', 'Core')
distro.linux_distribution(full_distribution_name=False): ('centos', '7', 'Core')
CentOS 7
(tips) $
(8) CentOS 8 Not implemented
(9) alpine on docker (on Ubuntu)
(test) # python tips.py
==================== sys.version ====================
sys.version: 3.8.2 (default, Feb 29 2020, 17:03:31)
[GCC 9.2.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=8, micro=2, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='82c7670dced4', release='4.15.0-88-generic', version='#88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020', machine='x86_64')
os.uname()[0:]: ('Linux', '82c7670dced4', '4.15.0-88-generic', '#88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020', 'x86_64')
sysname: "Linux", nodename: "82c7670dced4", release: "4.15.0-88-generic", version: "#88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020", machine: "x86_64"
sysname: "Linux", nodename: "82c7670dced4", release: "4.15.0-88-generic", version: "#88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020", machine: "x86_64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.15.0-88-generic-x86_64-with
platform.platform(aliased=True, terse=True): Linux-4.15.0-88-generic-x86_64-with
platform.platform(aliased=False, terse=False): Linux-4.15.0-88-generic-x86_64-with
platform.platform(aliased=False, terse=True): Linux-4.15.0-88-generic-x86_64-with
Linux-4.15.0-88-generic-x86_64-with: Linux
==================== platform.*() ====================
platform.architecture(): ('64bit', '')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): x86_64
platform.node(): 82c7670dced4
platform.processor():
platform.python_build(): ('default', 'Feb 29 2020 17:03:31')
platform.python_compiler(): GCC 9.2.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.8.2
platform.python_version_tuple(): ('3', '8', '2')
platform.release(): 4.15.0-88-generic
platform.system(): Linux
platform.system_alias(): ('Linux', '4.15.0-88-generic', '#88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020')
platform.version(): #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020
platform.uname(): uname_result(system='Linux', node='82c7670dced4', release='4.15.0-88-generic', version='#88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020', machine='x86_64', processor='')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.win32_edition(): None
platform.win32_is_iot(): False
platform.libc_ver(): ('', '')
platform.mac_ver() - macOS version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Alpine Linux', '3.11.3', '')
distro.linux_distribution(full_distribution_name=True): ('Alpine Linux', '3.11.3', '')
distro.linux_distribution(full_distribution_name=False): ('alpine', '3.11.3', '')
(test) #
Windows
(10) Windows Native Python on Windows 10 Home
(tips) C:\Users\...\tips.d>python tips.py
==================== sys.version ====================
sys.version: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=8, micro=2, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: win32
win32: Windows
==================== os.name ====================
nt: Windows
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Windows-10-10.0.18362-SP0
platform.platform(aliased=True, terse=True): Windows-10
platform.platform(aliased=False, terse=False): Windows-10-10.0.18362-SP0
platform.platform(aliased=False, terse=True): Windows-10
Windows-10: Windows 10
==================== platform.*() ====================
platform.architecture(): ('64bit', 'WindowsPE')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): AMD64
platform.node(): localhost
platform.processor(): Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
platform.python_build(): ('tags/v3.8.2:7b3ab59', 'Feb 25 2020 23:03:10')
platform.python_compiler(): MSC v.1916 64 bit (AMD64)
platform.python_branch(): tags/v3.8.2
platform.python_implementation(): CPython
platform.python_revision(): 7b3ab59
platform.python_version(): 3.8.2
platform.python_version_tuple(): ('3', '8', '2')
platform.release(): 10
platform.system(): Windows
platform.system_alias(): ('Windows', '10', '10.0.18362')
platform.version(): 10.0.18362
platform.uname(): uname_result(system='Windows', node='localhost', release='10', version='10.0.18362', machine='AMD64', processor='Intel64 Family 6 Model 42 Stepping 7, GenuineIntel')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('10', '10.0.18362', 'SP0', '')
platform.win32_edition(): Core
platform.win32_is_iot(): False
platform.libc_ver(): ('', '')
platform.mac_ver() - macOS version: ('', ('', '', ''), '')
(tips) C:\Users\...\tips.d>
(11) Anaconda Python (Windows 10 Pro)
(PythonGeneralTest) >python tips.py
==================== sys.version ====================
sys.version: 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=7, micro=6, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: win32
win32: Windows
==================== os.name ====================
nt: Windows
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Windows-10-10.0.18362-SP0
platform.platform(aliased=True, terse=True): Windows-10
platform.platform(aliased=False, terse=False): Windows-10-10.0.18362-SP0
platform.platform(aliased=False, terse=True): Windows-10
Windows-10: Windows 10
==================== platform.*() ====================
platform.architecture(): ('64bit', 'WindowsPE')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): AMD64
platform.node(): localhost
platform.processor(): Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
platform.python_build(): ('default', 'Jan 8 2020 20:23:39')
platform.python_compiler(): MSC v.1916 64 bit (AMD64)
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.7.6
platform.python_version_tuple(): ('3', '7', '6')
platform.release(): 10
platform.system(): Windows
platform.system_alias(): ('Windows', '10', '10.0.18362')
platform.version(): 10.0.18362
platform.uname(): uname_result(system='Windows', node='localhost', release='10', version='10.0.18362', machine='AMD64', processor='Intel64 Family 6 Model 42 Stepping 7, GenuineIntel')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('10', '10.0.18362', 'SP0', '')
platform.libc_ver(): ('', '')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
(PythonGeneralTest) >
UNIX
SunOS/Solaris
(12) Solaris 10 (x86_64)
$ uname -a
SunOS unknown 5.10 Generic_147148-26 i86pc i386 i86pc
$
$ python tips.py
==================== sys.version ====================
sys.version: 2.6.4 (r264:75706, Jun 26 2012, 21:27:36) [C]
==================== sys.version_info ====================
sys.version_info: (2, 6, 4, 'final', 0)
==================== sys.platform ====================
sys.platform: sunos5
sunos5: Solaris/SunOS
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): ('SunOS', 'unknown', '5.10', 'Generic_147148-26', 'i86pc')
os.uname()[0:]: ('SunOS', 'unknown', '5.10', 'Generic_147148-26', 'i86pc')
sysname: "SunOS", nodename: "unknown", release: "5.10", version: "Generic_147148-26", machine: "i86pc"
sysname: "SunOS", nodename: "unknown", release: "5.10", version: "Generic_147148-26", machine: "i86pc"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Solaris-2.10-i86pc-i386-32bit-ELF
platform.platform(aliased=True, terse=True): Solaris-2.10
platform.platform(aliased=False, terse=False): SunOS-5.10-i86pc-i386-32bit-ELF
platform.platform(aliased=False, terse=True): SunOS-5.10
Solaris-2.10: Solaris
Solaris 10
==================== platform.*() ====================
platform.architecture(): ('32bit', 'ELF')
sys.maxsize = 2147483647
sys.maxsize > 2**32 --> False
platform.machine(): i86pc
platform.node():
platform.processor(): i386
platform.python_build(): ('r264:75706', 'Jun 26 2012 21:27:36')
platform.python_compiler(): C
platform.python_branch(): tags/r264
platform.python_implementation(): CPython
platform.python_revision(): 75706
platform.python_version(): 2.6.4
platform.python_version_tuple(): ('2', '6', '4')
platform.release(): 5.10
platform.system(): SunOS
platform.system_alias(): ('Solaris', '2.10', 'Generic_147148-26')
platform.version(): Generic_147148-26
platform.uname(): ('SunOS', '', '5.10', 'Generic_147148-26', 'i86pc', 'i386')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('libc', '1')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
platform.linux_distribution(): ('', '', '')
platform.linux_distribution(full_distribution_name=True): ('', '', '')
platform.linux_distribution(full_distribution_name=False): ('', '', '')
$
(13) Solaris 11.3 (x86_64)
$ uname -a
SunOS solaris11 5.11 11.3 i86pc i386 i86pc
$
$ python tips.py
==================== sys.version ====================
sys.version: 2.7.9 (default, Aug 19 2015, 19:06:46) [C]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: sunos5
sunos5: Solaris/SunOS
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): ('SunOS', 'solaris11', '5.11', '11.3', 'i86pc')
os.uname()[0:]: ('SunOS', 'solaris11', '5.11', '11.3', 'i86pc')
sysname: "SunOS", nodename: "solaris11", release: "5.11", version: "11.3", machine: "i86pc"
sysname: "SunOS", nodename: "solaris11", release: "5.11", version: "11.3", machine: "i86pc"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Solaris-2.11-i86pc-i386-32bit-ELF
platform.platform(aliased=True, terse=True): Solaris-2.11
platform.platform(aliased=False, terse=False): SunOS-5.11-i86pc-i386-32bit-ELF
platform.platform(aliased=False, terse=True): SunOS-5.11
Solaris-2.11: Solaris
Solaris 11
==================== platform.*() ====================
platform.architecture(): ('32bit', 'ELF')
sys.maxsize = 2147483647
sys.maxsize > 2**32 --> False
platform.machine(): i86pc
platform.node(): solaris11
platform.processor(): i386
platform.python_build(): ('default', 'Aug 19 2015 19:06:46')
platform.python_compiler(): C
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 2.7.9
platform.python_version_tuple(): ('2', '7', '9')
platform.release(): 5.11
platform.system(): SunOS
platform.system_alias(): ('Solaris', '2.11', '11.3')
platform.version(): 11.3
platform.uname(): ('SunOS', 'solaris11', '5.11', '11.3', 'i86pc', 'i386')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('libc', '1')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
platform.linux_distribution(): ('', '', '')
platform.linux_distribution(full_distribution_name=True): ('', '', '')
platform.linux_distribution(full_distribution_name=False): ('', '', '')
$
FreeBSD
(14) FreeBSD 12.1
$ uname -a; freebsd-version -kru
FreeBSD freebsd001 12.1-RELEASE FreeBSD 12.1-RELEASE r354233 GENERIC amd64
12.1-RELEASE
12.1-RELEASE
12.1-RELEASE
$
(tips) $ python tips.py
==================== sys.version ====================
sys.version: 3.7.7 (default, Apr 23 2020, 01:19:26)
[Clang 8.0.1 (tags/RELEASE_801/final 366581)]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=7, micro=7, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: freebsd12
freebsd12: FreeBSD
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='FreeBSD', nodename='freebsd001', release='12.1-RELEASE', version='FreeBSD 12.1-RELEASE r354233 GENERIC', machine='amd64')
os.uname()[0:]: ('FreeBSD', 'freebsd001', '12.1-RELEASE', 'FreeBSD 12.1-RELEASE r354233 GENERIC', 'amd64')
sysname: "FreeBSD", nodename: "freebsd001", release: "12.1-RELEASE", version: "FreeBSD 12.1-RELEASE r354233 GENERIC", machine: "amd64"
sysname: "FreeBSD", nodename: "freebsd001", release: "12.1-RELEASE", version: "FreeBSD 12.1-RELEASE r354233 GENERIC", machine: "amd64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): FreeBSD-12.1-RELEASE-amd64-64bit-ELF
platform.platform(aliased=True, terse=True): FreeBSD-12.1-RELEASE
platform.platform(aliased=False, terse=False): FreeBSD-12.1-RELEASE-amd64-64bit-ELF
platform.platform(aliased=False, terse=True): FreeBSD-12.1-RELEASE
FreeBSD-12.1-RELEASE: Unknown
==================== platform.*() ====================
platform.architecture(): ('64bit', 'ELF')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): amd64
platform.node(): freebsd001
platform.processor(): amd64
platform.python_build(): ('default', 'Apr 23 2020 01:19:26')
platform.python_compiler(): Clang 8.0.1 (tags/RELEASE_801/final 366581)
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.7.7
platform.python_version_tuple(): ('3', '7', '7')
platform.release(): 12.1-RELEASE
platform.system(): FreeBSD
platform.system_alias(): ('FreeBSD', '12.1-RELEASE', 'FreeBSD 12.1-RELEASE r354233 GENERIC')
platform.version(): FreeBSD 12.1-RELEASE r354233 GENERIC
platform.uname(): uname_result(system='FreeBSD', node='freebsd001', release='12.1-RELEASE', version='FreeBSD 12.1-RELEASE r354233 GENERIC', machine='amd64', processor='amd64')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('libc', '7')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
(tips) $
(15) Raspberry Pi 3 B+ (raspbian/buster)
/etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
(easytest) $ python tips.py
==================== sys.version ====================
sys.version: 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='localhost', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l')
os.uname()[0:]: ('Linux', 'localhost', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020', 'armv7l')
sysname: "Linux", nodename: "localhost", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
sysname: "Linux", nodename: "localhost", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.19.97-v7+-armv7l-with-debian-10.3
platform.platform(aliased=True, terse=True): Linux-4.19.97-v7+-armv7l-with-glibc2.28
platform.platform(aliased=False, terse=False): Linux-4.19.97-v7+-armv7l-with-debian-10.3
platform.platform(aliased=False, terse=True): Linux-4.19.97-v7+-armv7l-with-glibc2.28
Linux-4.19.97-v7+-armv7l-with-glibc2.28: Linux
==================== platform.*() ====================
platform.architecture(): ('32bit', 'ELF')
sys.maxsize = 2147483647
sys.maxsize > 2**32 --> False
platform.machine(): armv7l
platform.node(): localhost
platform.processor():
platform.python_build(): ('default', 'Dec 20 2019 18:57:59')
platform.python_compiler(): GCC 8.3.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.7.3
platform.python_version_tuple(): ('3', '7', '3')
platform.release(): 4.19.97-v7+
platform.system(): Linux
platform.system_alias(): ('Linux', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020')
platform.version(): #1294 SMP Thu Jan 30 13:15:58 GMT 2020
platform.uname(): uname_result(system='Linux', node='localhost', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l', processor='')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.28')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Raspbian GNU/Linux', '10', 'buster')
distro.linux_distribution(full_distribution_name=True): ('Raspbian GNU/Linux', '10', 'buster')
distro.linux_distribution(full_distribution_name=False): ('raspbian', '10', 'buster')
Raspbian (buster)
(easytest) $
(16) docker Ubuntu 18.04 on Raspberry Pi Ubuntu/buster
/etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
# python3 tips.py
==================== sys.version ====================
sys.version: 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=6, micro=9, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='2be6fa454df5', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l')
os.uname()[0:]: ('Linux', '2be6fa454df5', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020', 'armv7l')
sysname: "Linux", nodename: "2be6fa454df5", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
sysname: "Linux", nodename: "2be6fa454df5", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.19.97-v7+-armv7l-with-Ubuntu-18.04-bionic
platform.platform(aliased=True, terse=True): Linux-4.19.97-v7+-armv7l-with-glibc2.25
platform.platform(aliased=False, terse=False): Linux-4.19.97-v7+-armv7l-with-Ubuntu-18.04-bionic
platform.platform(aliased=False, terse=True): Linux-4.19.97-v7+-armv7l-with-glibc2.25
Linux-4.19.97-v7+-armv7l-with-glibc2.25: Linux
==================== platform.*() ====================
platform.architecture(): ('32bit', 'ELF')
sys.maxsize = 2147483647
sys.maxsize > 2**32 --> False
platform.machine(): armv7l
platform.node(): 2be6fa454df5
platform.processor(): armv7l
platform.python_build(): ('default', 'Nov 7 2019 10:44:02')
platform.python_compiler(): GCC 8.3.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.6.9
platform.python_version_tuple(): ('3', '6', '9')
platform.release(): 4.19.97-v7+
platform.system(): Linux
platform.system_alias(): ('Linux', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020')
platform.version(): #1294 SMP Thu Jan 30 13:15:58 GMT 2020
platform.uname(): uname_result(system='Linux', node='2be6fa454df5', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l', processor='armv7l')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.25')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=True): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=False): ('ubuntu', '18.04', 'bionic')
Ubuntu 18.04
#
(17) CentOS 7 on Docker on Raspbian Ubuntu/buster
/etc/os-release
NAME="CentOS Linux"
VERSION="7 (AltArch)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (AltArch)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
(tips) # python tips.py
==================== sys.version ====================
sys.version: 3.6.8 (default, Aug 7 2019, 17:16:12)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=6, micro=8, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='ca1a50e394ad', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l')
os.uname()[0:]: ('Linux', 'ca1a50e394ad', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020', 'armv7l')
sysname: "Linux", nodename: "ca1a50e394ad", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
sysname: "Linux", nodename: "ca1a50e394ad", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.19.97-v7+-armv7l-with-centos-7.6.1810-AltArch
platform.platform(aliased=True, terse=True): Linux-4.19.97-v7+-armv7l-with-glibc2.4
platform.platform(aliased=False, terse=False): Linux-4.19.97-v7+-armv7l-with-centos-7.6.1810-AltArch
platform.platform(aliased=False, terse=True): Linux-4.19.97-v7+-armv7l-with-glibc2.4
Linux-4.19.97-v7+-armv7l-with-glibc2.4: Linux
==================== platform.*() ====================
platform.architecture(): ('32bit', '')
sys.maxsize = 2147483647
sys.maxsize > 2**32 --> False
platform.machine(): armv7l
platform.node(): ca1a50e394ad
platform.processor(): armv7l
platform.python_build(): ('default', 'Aug 7 2019 17:16:12')
platform.python_compiler(): GCC 4.8.5 20150623 (Red Hat 4.8.5-39)
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.6.8
platform.python_version_tuple(): ('3', '6', '8')
platform.release(): 4.19.97-v7+
platform.system(): Linux
platform.system_alias(): ('Linux', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020')
platform.version(): #1294 SMP Thu Jan 30 13:15:58 GMT 2020
platform.uname(): uname_result(system='Linux', node='ca1a50e394ad', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l', processor='armv7l')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.4')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('CentOS Linux', '7', 'AltArch')
distro.linux_distribution(full_distribution_name=True): ('CentOS Linux', '7', 'AltArch')
distro.linux_distribution(full_distribution_name=False): ('centos', '7', 'AltArch')
CentOS 7
(tips) #
(18) alpine on Docker on Raspbian
/etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.11.6
PRETTY_NAME="Alpine Linux v3.11"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
# uname -a
Linux ef8a14447523 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l Linux
#
(tips) # python tips.py
==================== sys.version ====================
sys.version: 3.8.2 (default, Feb 29 2020, 17:03:31)
[GCC 9.2.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=8, micro=2, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='ef8a14447523', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l')
os.uname()[0:]: ('Linux', 'ef8a14447523', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020', 'armv7l')
sysname: "Linux", nodename: "ef8a14447523", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
sysname: "Linux", nodename: "ef8a14447523", release: "4.19.97-v7+", version: "#1294 SMP Thu Jan 30 13:15:58 GMT 2020", machine: "armv7l"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.19.97-v7+-armv7l-with
platform.platform(aliased=True, terse=True): Linux-4.19.97-v7+-armv7l-with
platform.platform(aliased=False, terse=False): Linux-4.19.97-v7+-armv7l-with
platform.platform(aliased=False, terse=True): Linux-4.19.97-v7+-armv7l-with
Linux-4.19.97-v7+-armv7l-with: Linux
==================== platform.*() ====================
platform.architecture(): ('32bit', '')
sys.maxsize = 2147483647
sys.maxsize > 2**32 --> False
platform.machine(): armv7l
platform.node(): ef8a14447523
platform.processor():
platform.python_build(): ('default', 'Feb 29 2020 17:03:31')
platform.python_compiler(): GCC 9.2.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.8.2
platform.python_version_tuple(): ('3', '8', '2')
platform.release(): 4.19.97-v7+
platform.system(): Linux
platform.system_alias(): ('Linux', '4.19.97-v7+', '#1294 SMP Thu Jan 30 13:15:58 GMT 2020')
platform.version(): #1294 SMP Thu Jan 30 13:15:58 GMT 2020
platform.uname(): uname_result(system='Linux', node='ef8a14447523', release='4.19.97-v7+', version='#1294 SMP Thu Jan 30 13:15:58 GMT 2020', machine='armv7l', processor='')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.win32_edition(): None
platform.win32_is_iot(): False
platform.libc_ver(): ('', '')
platform.mac_ver() - macOS version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Alpine Linux', '3.11.6', '')
distro.linux_distribution(full_distribution_name=True): ('Alpine Linux', '3.11.6', '')
distro.linux_distribution(full_distribution_name=False): ('alpine', '3.11.6', '')
(tips) #
Google Colaboratory
==================== sys.version ====================
sys.version: 3.6.9 (default, Apr 18 2020, 01:56:04)
[GCC 8.4.0]
==================== sys.version_info ====================
sys.version_info: sys.version_info(major=3, minor=6, micro=9, releaselevel='final', serial=0)
==================== sys.platform ====================
sys.platform: linux
linux: Linux
==================== os.name ====================
posix: macOS, Linux or UNIX
==================== os.uname() ====================
os.uname(): posix.uname_result(sysname='Linux', nodename='26b82e7048b3', release='4.19.104+', version='#1 SMP Wed Feb 19 05:26:34 PST 2020', machine='x86_64')
os.uname()[0:]: ('Linux', '26b82e7048b3', '4.19.104+', '#1 SMP Wed Feb 19 05:26:34 PST 2020', 'x86_64')
sysname: "Linux", nodename: "26b82e7048b3", release: "4.19.104+", version: "#1 SMP Wed Feb 19 05:26:34 PST 2020", machine: "x86_64"
sysname: "Linux", nodename: "26b82e7048b3", release: "4.19.104+", version: "#1 SMP Wed Feb 19 05:26:34 PST 2020", machine: "x86_64"
==================== platform.platform() ====================
platform.platform(aliased=True, terse=False): Linux-4.19.104+-x86_64-with-Ubuntu-18.04-bionic
platform.platform(aliased=True, terse=True): Linux-4.19.104+-x86_64-with-glibc2.25
platform.platform(aliased=False, terse=False): Linux-4.19.104+-x86_64-with-Ubuntu-18.04-bionic
platform.platform(aliased=False, terse=True): Linux-4.19.104+-x86_64-with-glibc2.25
Linux-4.19.104+-x86_64-with-glibc2.25: Linux
==================== platform.*() ====================
platform.architecture(): ('64bit', '')
sys.maxsize = 9223372036854775807
sys.maxsize > 2**32 --> True
platform.machine(): x86_64
platform.node(): 26b82e7048b3
platform.processor(): x86_64
platform.python_build(): ('default', 'Apr 18 2020 01:56:04')
platform.python_compiler(): GCC 8.4.0
platform.python_branch():
platform.python_implementation(): CPython
platform.python_revision():
platform.python_version(): 3.6.9
platform.python_version_tuple(): ('3', '6', '9')
platform.release(): 4.19.104+
platform.system(): Linux
platform.system_alias(): ('Linux', '4.19.104+', '#1 SMP Wed Feb 19 05:26:34 PST 2020')
platform.version(): #1 SMP Wed Feb 19 05:26:34 PST 2020
platform.uname(): uname_result(system='Linux', node='26b82e7048b3', release='4.19.104+', version='#1 SMP Wed Feb 19 05:26:34 PST 2020', machine='x86_64', processor='x86_64')
platform.java_ver(): ('', '', ('', '', ''), ('', '', ''))
platform.win32_ver(): ('', '', '', '')
platform.libc_ver(): ('glibc', '2.25')
platform.mac_ver() - darwin version: ('', ('', '', ''), '')
==================== distro.linux_distribution() ====================
distro.linux_distribution(): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=True): ('Ubuntu', '18.04', 'bionic')
distro.linux_distribution(full_distribution_name=False): ('ubuntu', '18.04', 'bionic')
Ubuntu 18.04
Although I investigated it, I think that it is more realistic to judge the outline by sys.platform
and prepare a .conf file etc. and refer to it externally for the difference in directory structure etc.
I was planning to publish it after checking all of them, but since I have all of them, I would like to publish additional ones as needed.
Recommended Posts