Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Linux
ΠΠ½Π°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Python?
ΠΠ°! Π ΡΡΠΎΠΌ ΠΊΡΠ°ΡΠΊΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python.
Π Python Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Platform, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΈΡ ΠΠ‘, ΠΈΠΌΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΡΠ΄ΡΠΎ, ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΠ‘, Π²Π΅ΡΡΠΈΡ Python ΠΈ Ρ. Π΄.
ΠΠ°ΠΉΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Ρ Python ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°.
Π‘ΡΠ΄Π° Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΠ» ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Python 3.6.x Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Linux.
ΠΠ° Arch Linux ΠΈ Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ :
$ sudo pacman -S python
ΠΠ° Fedora:
$ sudo dnf install python36
$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum install python36u
Π’Π°ΠΊ ΡΡΠΎ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅.
Π Ubuntu 16.10 ΠΈ 17.04 Python3 Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ [Universe].
$ sudo add-apt-repository universe $ sudo apt-get install python3.6
$ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt-get update $ sudo apt-get install python3.6
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ python3 --version
ΠΠ»ΠΈ,
$ python3.6 -V
Python 3.6.8
$ python3 -c 'import platform; print(platform.linux_distribution())'
$ python -c 'import platform; print(platform.linux_distribution())'
('Ubuntu', '18.04', 'bionic')
$ python3 -c 'import platform; print(platform.architecture())' ('64bit', 'ELF')
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ ΠΌΠ°ΡΠΈΠ½Ρ:
$ python3 -c 'import platform; print(platform.machine())' x86_64
$ python3 -c 'import platform; print(platform.node())' itisgood
ΠΠΎΠΊΠ°Π·Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ:
$ python3 -c 'import platform; print(platform.platform())' Linux-5.0.0-32-generic-x86_64-with-Ubuntu-18.04-bionic
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°:
$ python3 -c 'import platform; print(platform.processor())' x86_64
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ:
$ python3 -c 'import platform; print(platform.release())' 5.0.0-32-generic
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ / ΠΠ‘:
$ python3 -c 'import platform; print(platform.system())' Linux
ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ:
$ python3 -c 'import platform; print(platform.version())' #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019
ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ·Π΅Π», Π²ΡΠΏΡΡΠΊ, Π²Π΅ΡΡΠΈΡ, ΠΌΠ°ΡΠΈΠ½Π° ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ
$ python3 -c 'import platform; print(platform.uname())' uname_result(system='Linux', node='ostechnix', release='5.0.0-32-generic', version='#34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019', machine='x86_64', processor='x86_64')
ΠΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«uname -aΒ».
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» ΡΠ°Π½Π΅Π΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Python.
ΠΠ»Ρ Python 2.x Π·Π°ΠΏΡΡΡΠΈΡΠ΅:
$ python -c 'import platform; print(platform.python_version())' 2.7.15+
ΠΠ»Ρ Python 3.x:
$ python3 -c 'import platform; print(platform.python_version())' 3.6.8
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Python Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Python Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ² Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ os_info.py:
$ nano os_info.py
import platform print('Uname:', platform.uname()) print() print('Distribution :', platform.linux_distribution()) print('Machine :', platform.machine()) print('Node :', platform.node()) print('Processor :', platform.processor()) print('Release :', platform.release()) print('System :', platform.system()) print('Version :', platform.version()) print('Platform :', platform.platform())
$ python os_info.py
ΠΈΠ»ΠΈ,
$ python3 os_info.py
Uname: uname_result(system='Linux', node='ostechnix', release='5.0.0-32-generic', version='#34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019', machine='x86_64', processor='x86_64') Distribution : ('Ubuntu', '18.04', 'bionic') Machine : x86_64 Node : ostechnix Processor : x86_64 Release : 5.0.0-32-generic System : Linux Version : #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 Platform : Linux-5.0.0-32-generic-x86_64-with-Ubuntu-18.04-bionic
ΠΠ°ΠΉΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python 3.8.0
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ platform.linux_distribution () ΡΡΡΠ°ΡΠ΅Π»Π° Ρ Π²Π΅ΡΡΠΈΠΈ 3.5 ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π° Π² 3.8.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Python, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ 3.8.0, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ distro.
$ pip install distro
$ distro
Name: Ubuntu 18.04.2 LTS Version: 18.04 (bionic) Codename: bionic
$ distro -j
{ "codename": "bionic", "id": "ubuntu", "like": "debian", "version": "18.04", "version_parts": { "build_number": "", "major": "18", "minor": "04" } }