6. Install¶
6.1. License¶
Modified-Artistic-License-2.0 = Artistic-License-2.0 + Forced-Fairplay-Constraints
- Artistic-License-2.0(base license): ArtisticLicense20
- Forced-Fairplay-Constraints(amendments): licenses-amendments
Copyright (C) 2018-2019 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez
6.2. Resources¶
prerequisite reference description Download PyPI https://pypi.python.org/pypi/namedtupledefs2 Sourceforge https://sourceforge.net/projects/namedtupledefs2/ github.com https://github.com/ArnoCan/namedtupledefs2/ Documents sourceforge https://namedtupledefs2.sourceforge.io/
6.3. Install from PyPI.org¶
Install from PyPI.org by calling:
pip install namedtupledefs2
Once installed any supported implementation will work.
The runtime package is distinct from the source package, which is also called the SDK - Sofware Developemnt Kit. The prerequisites of both are frequently slightly different. For the SDK and the installation from sources including offline-installation see following sections.
6.4. Prerequisites¶
prerequisite reference description Runtime Python Syntax Python2.7+, Python Distributions CPython, PyPy, Jython, IPython, IronPython
MicroPython, CircuitPython
Jython is verified with: jdk-8u131, jdk-8u202, jdk-11u2
OS-Server/WS/Notebook AlpineLinux, ArchLinux, CentOS, Debian, Fedora,
Gentoo, LinuxMint, OpenSUSE, OracleLinux, RHEL,
Slackware, SLES, Ubuntu
Minix3
FreeBSD, NetBSD, OpenBSD
DragonFlyBSD, GostBSD, NomadBSD, TrueOS
SnowLeopard
Solaris(10, 11)
Cygwin
ReactOS
Windows10, Windows8.1, Windows7, WindowsXP, W2000WS
Windows2019, Windows2016
Windows2012, Windows2008, Windows2000
OS-Special OpenWRT, KaliLinux, pfSense
BlackArch, ParrotOS, Pentoo
OS-Devices-altarch - ARM AlpineLinux, ArchLinux, Armbian, BlackArchLinux, CentOS,
KaliLinux, OpenWRT, ParrotOS, Raspbian
FreeBSD, NetBSD, OpenBSD
Windows10IoT
Soon / TBD VMWare-ESXi, XenServer, KVM, Docker, Kubernetes, OpenShift
Hyper-V-2016, Hyper-V-2012, Hyper-V-2008
AWS, Azure, Google-Cloud, IBM-Cloud
Packages Python pyfilesysobjects, pyplatformids, pythonids (jsonschema), (ujson/ultrajson) Jython Supports Java integration, tested with:
rte/jdk-8u131, rte/jdk-8u202, rte/jdk-11u2
on WindowsNT - optional: jna-5.0.0
SDK Cygwin cygwinreg Python CPython 2.7+, CPython 3.5+ Java jdk >= 1.8
on WindowsNT - mandatory: jna-5.0.0
bash bash-4.x documents Sphinx >=1.4, Epydoc >=4 or Apydoc >=4 (1) OS Linux, Darwin, BSD, UNIX, Cygwin, Windows10 (1): Epydoc(4.0) and Apydoc are going to be released to public soon.
6.5. Install Procedures for Sources¶
The installation process itself is verified for CPython, it requires the setuptools package and will than work with others too.
From source:
python setup.py install
Once installed any supported implementation will work.
The runtime package is distinct from the source package, which is also called the SDK - Sofware Developemnt Kit. The prerequisites of both are frequently slightly different.
environment description Runtime Standard procedure online local install e.g. into virtual environment:
- python setup.py install
Standard procedure online local install into user home:
- python setup.py install –user
Custom procedure offline by:
- python setup.py install –user –offline
SDK Required for document creation, add ‘–sdk’ option, checks build tools:
- python setup.py install –sdk
Creation of documents, requires Sphinx including ‘sphinx-apidoc’, and Epydoc:
- python setup.py build_doc install_project_doc install_doc
Compilation of Java modules for Jython, see help for suboptions. The package contains the compiled standard class files, this call could be used for alternative JRE.
- python setup.py build_java
6.6. Tested Platforms¶
Some default installations, e.g. PyPy on OpenBSD6.3 do not work from the box, but perfectly when a specific virtual environment is created. Thus the number of actual tests is even larger. You may adapt it appropriately - or with some professional support from the author.
6.6.1. Standard Platforms¶
The tested Python implementations on the supported OS on standard platforms are:
OS-distribution Python implementations CPython IPython IronPython Jython(1) PyPy Stackless AlpineLinux-3.9 X – – – – – AlpineLinux-3.10 X – – – – – ArchLinux-2019.04.01 * * – * * * CentOS-6 * – – – – – CentOS-7 * * – * * * CentOS-8 * * – * * * CoreOS * – – – – – Cygwin * * – – – – Debian-9 * * – * * – Debian-10 * * – * * * DragonFlyBSD-5.4.0 * – – – – – Fedora-27 OK OK – OK OK – Fedora-28 OK OK – – OK – Fedora-29 OK OK – – OK – Fedora-30 OK OK – * OK * Fedora-31 * * – * * * FreeBSD-11.2 * – – – – – Gentoo-12.1 * – – – – – GhostBSD-19.04 * – – – – – LinuxMint-19.1 * – – – – – Minix3 * – – – – – NetBSD-7.2 * – – – – – NetBSD-8.0 * – – – – – OpenBSD-6.4 * – – – – – OpenBSD-6.5 * – – – – – OpenBSD-6.6 * – – – – – OpenSUSE-15.1 * – – – – – OpenSUSE-42.3 * – – – – – OracleLinux-OEL7 * – – – – – OracleLinux-OEL8 * – – – – – ReactOS-0.4.11 * – – – – – RHEL - RHEL7 * – – – – – RHEL - RHEL8 * – – – – – SLES – – – – Slackware-14.2 * – – – – – SnowLeopard * * – * * * Solaris10 * – – – – – Solaris11 * – – – – – TrueOS-18.12 * – – – – – Ubuntu-16.04 * – – – – – Ubuntu-18.04 * * – – – – Ubuntu-18.10 * * – – – – Ubuntu-19.04 * * – * * * WindowsXP * – – – – – Windows7Ultimate * * * – (*) * Windows10Home * * * – (*) * Windows10Professional OK OK OK * OK * Windows2008 * – – – – – Windows2008R2 * – – – – – Windows2012 * – – – – – Windows2012R2 * – – – – – Windows2016S * * * * (*) * Windows2016SE * – – – – – Windows2019S * * * * (*) * Windows2019SE * – – – – – (1): Verified Jython-2.7.0 with: jdk-8u131, jdk-8u181, jdk-8u202, jdk-11u2
See also “Supported Standard OS and Dists” [platformids].
6.6.2. Security and Network¶
The tested Python implementations on the supported Security and Network platforms including physical, virtual, and embedded platforms are:
OS-distribution Python implementations CPython IPython IronPython Jython(1) PyPy Stackless BlackArchLinux * – – – – – KaliLinux * – – – – – KaliLinux ARM * – – – – – MOFOLinux * – – – – – OpenBSD * – – – – – OpenBSD - ARM * – – – – – OpenWRT * – – – – – OpenWRT - ARM * – – – – – OpenWRT - MIPS * – – – – – ParrotOS * – – – – – Pentoo * – – – – – pfsense * – – – – – (1): Verified Jython-2.7.0 with: jdk-8u131, jdk-8u202, jdk-11u2
See also “Security and Network Systems” [platformids].
6.6.3. Embedded and IoT¶
The tested Python implementations on the supported OS on embedded and IoT platforms with alternative architecture are - RaspberryPI and Asus-TinkerBoard:
OS-distribution Python implementations CPython IPython IronPython Jython(1) PyPy Stackless AlpineLinux X – – – – – ArchLinux-altarch * * – * * * Armbian * * – – – – CentOS-7-altarch * – – – – – CircuitPython (*) – – – – – Fedora * * – * * * FreeBSD * – – – – – MicroPython (*) – – – – – NetBSD * – – – – – OpenBSD * * – – – – Raspbian * X – * * * Windows10IoT * – – – – – (1): Verified Jython-2.7.0 with: jdk-8u131, jdk-8u202, jdk-11u2
See also “Embedded Systems and IoT” [platformids].
6.6.4. Windows WSL-1.0¶
The tested within WSL-1.0:
OS-distribution Python implementations CPython IPython IronPython.exe(3) IronPython(2) Jython(1) PyPy Stackless AlpineLinux OK OK OK – – – – Debian OK OK OK * OK OK * KaliLinux OK OK OK – OK OK * openSUSE OK OK OK – OK OK * SLES OK OK OK – – – – Ubuntu OK OK OK – OK OK * (1): Verified Jython-2.7.0 with: jdk-8u131, jdk-8u202, jdk-11u2
(2): IronPython - Call of the native IronPython as an Linux executable, e.g. as pre-alpha fro Debian, see [IronPython].
- (3): IronPython.exe - Call of the Windows EXE from Linux running within the WSL, see [WINWSL].
- Executes within native NT environment, thus executes within runtime-context ostype == RTE_NT.
6.6.5. App Frameworks¶
special test results are available soon
Application Framework Python implementations CPython IPython IronPython Jython PyPy Stackless IBM WebSphere Application Server – – – * – – JBoss Application Server – – – * – – Oracle Weblogic Server – – – * – – Tomcat Server – – – * – –