Как узнать разрядность python

Python. Как узнать имя и разрядность дистрибутива?

Python. Как узнать имя и разрядность дистрибутива?

либа os
точно не помню.

os.uname и sys.platform

import sys, os print(os.uname,’ ‘,sys.platform)

Здесь, правда, только информация о ядре и разрядности. Узнать дистр вряд ли можно из самой программы. Да и не нужно это.

А зачем тебе это вообще надо?

пока просто ковыряюсь, изучаю..

СПАСИБО, добрый человек! 🙂

это было так заразительно что я ввел все эти команды в интерпретаторе питона в своей убунте ))) всё работает, забавно

думаю питон учить, не знаю, мне кажется в питоне есть что-то очень няшное.

поэтому и изучаю его) только думаю вот писать на нём сайт или по старинке на пыхе

Источник

Как определить, выполняется ли моя оболочка python в 32-битном или 64-битном режиме на OS X?

Мне нужен способ узнать, в каком режиме находится оболочка изнутри оболочки.

Я пробовал смотреть на платформа модуль, но, кажется, только рассказать вам о «о битовой архитектуре и формате связи, используемом для исполняемого файла»: двоичный файл скомпилирован как 64bit, хотя (я работаю на OS X 10.6), поэтому, похоже, всегда сообщает 64bit, хотя я использую методы описано здесь для принудительного 32-битного режима).

13 ответов

обновление: Один из способов-посмотреть на sys.maxsize как документально здесь:

sys.maxsize был представлен в Python 2.6. Если вам нужен тест для более старых систем, Этот немного более сложный тест должен работать на всех версиях Python 2 и 3:

кстати, у вас может возникнуть соблазн использовать platform.architecture() для этого. К сожалению, его результаты не всегда достоверны,особенно в случае универсальных двоичных файлов OS X.

при запуске интерпретатора Python в терминале / командной строке вы также можете увидеть строку типа:

Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win32

здесь [MSC v.1500 64 bit (AMD64)] означает 64-битный Python. Работает для моей конкретной установки.

в основном вариант ответа Мэтью Маршалла (со структурой из std.библиотека):

попробуйте использовать ctypes, чтобы получить размер указателя void:

это будет 4 для 32 бит или 8 для 64 бит.

открыть консоль python:

он должен отображать «64bit» или «32bit» в соответствии с вашей платформой.

для непрограммного решения посмотрите в мониторе активности. Он перечисляет архитектуру 64-разрядных процессов как » Intel (64-bit)».

в моей системе Centos Linux я сделал следующее:

1) запустил интерпретатор Python (я использую 2.6.6)
2) выполнить следующий код:

Примечание.: На Mac OS X (и, возможно, других платформах) исполняемые файлы могут быть универсальными файлами, содержащими несколько архитектур.

чтобы получить «64-битность» текущего интерпретатора, он более надежен для запроса sys.атрибут значение maxsize:

struct.calcsize(«P») возвращает размер байтов, необходимых для хранения одного указателя. В 32-разрядной системе он вернет 4 байта. В 64-разрядной системе он вернет 8 байт.

таким образом, следующее вернется 32 Если вы используете 32-битный python и 64 если вы используете 64-битный python:

Python 2

Python 3

после нажатия python в cmd

я собираюсь иллюстрации на всех 3 платформах. Я буду использовать Питон3 и вместо python2. Док!—35—>URL-адресомs однако, будет Питон3 конкретные.

Win конкретно:

3.5.1 (v3.5.1: 37a07cee5969, Dec 6 2015, 01:54:25) [MSC V. 1900 64 бит (AMD64)]

архитектура платформы не является надежным способом. Вместо этого:

Источник

Как узнать разрядность python

Какую команду использовать для проверки того, является ли python 64-битным или 32-битным

Я не могу найти какую-либо команду, чтобы проверить, скомпилирован ли мой питон для 32-битной системы или 64-битной системы.

Читайте также:  Для чего проточка на подшипнике

и он сообщает только версию

Также, когда я перехожу на сайт загрузки python, у них есть одна версия python для Linux, но две версии для Mac i.e 32bit и 64bit.

Для Python 2.6 и выше вы можете использовать sys.maxsize как документально зарегистрированный здесь:

ОБНОВЛЕНИЕ: Я замечаю, что я действительно не ответил на поставленный вопрос. Хотя вышеприведенный тест точно скажет вам, работает ли интерпретатор в 32-разрядной или 64-битной архитектуре, он не отвечает и не может ответить на вопрос о том, что представляет собой полный набор архитектур, которые этот интерпретатор был создан для и может работать. Как было отмечено в этом вопросе, это важно, например, для универсальных исполняемых файлов Mac OS X, где один исполняемый файл может содержать код для нескольких архитектур. Один из способов ответить на этот вопрос — использовать команду file операционной системы. В большинстве систем он будет сообщать о поддерживаемых архитектурах исполняемого файла. Здесь, как это сделать в одной строке из командной строки оболочки в большинстве систем:

Используя систему Python по умолчанию для OS X 10.6, выход:

В одной системе Linux:

Кстати, здесь пример того, почему platform не является надежным для этой цели. Снова используя систему Python на OS X 10.6:

К вопросу определения разрядности Python и Windows

В некоторых случаях определения разрядности Python недостаточно для принятия решения без выяснения
разрядности Windows, на которой он работает. 32-битный Python на 64-битной Windows — не редкость.
И вроде бы решения известны, но вот не чувствовал я в себе уверенности, применяя их.
Хотя в VirtualBox всё выглядело хорошо, но возможности проверить на реальном железе не было.

А тут как раз и подвернулась такая возможность. На подходящем железе c Intel Core 2 Duo сначала была
развёрнута Win7(32bit), затем — Win7(64bit). Ну и Python 3.8.6 (32bit/64bit).

Из надёрганного в Интернете по этой теме был слеплен скриптик для сбора данных.

И пускачи для Win64, поскольку питоны там ставились без ланчера и добавления путей в PATH.

Модуль platform в Python, информация о системе.

Различная информацию об операционной системе и языке Python.

Python часто используется в качестве кроссплатформенного языка и иногда необходимо знать, на какой системе работает программа.

Например, инструмент для управления сетевой конфигурацией операционной системы может определять переносимое представление сетевых интерфейсов, псевдонимов, IP-адресов и т. д., но когда приходит время редактировать файлы конфигурации, то Python должен знать больше о хосте, чтобы использовать правильные команды и файлы конфигурации операционной системы.

Модуль platform включает в себя инструменты для получения сведений об аппаратной платформе, операционной системе и интерпретаторе на которой выполняется программа.

Содержание:

Кроссплатформенные функции.

platform.architecture(executable=sys.executable, bits=», linkage=») :

Функция platform.architecture() запрашивает исполняемый файл executable для получения различной информации об архитектуре. По умолчанию двоичный файл интерпретатора Python.

Возвращает кортеж (bits, linkage), который содержит информацию об архитектуре битов и формате связи, используемом для исполняемого файла. Оба значения возвращаются в виде строк.

Функция полагается на системную команду file для выполнения реальной работы. Это доступно на большинстве, если не на всех платформах Unix и некоторых не-Unix платформах и только в том случае, если исполняемый файл указывает на интерпретатор Python.

Примечание.
В Mac OS X (и, возможно, на других платформах) исполняемые файлы могут быть универсальными файлами с несколькими архитектурами. Чтобы получить 64-разрядность текущего интерпретатора, более надежно запросить атрибут sys.maxsize :

Читайте также:  поликлиника 52 бирюлево восточное ряжская телефон регистратуры
platform.machine() :

Функция platform.machine() возвращает тип машины, например ‘I386’. Если значение не может быть определено, то возвращается пустая строка.

platform.node() :

Функция platform.node() возвращает сетевое имя компьютера, может быть не полностью! Если значение не может быть определено, то возвращается пустая строка..

platform.platform(aliased=0, terse=0) :

Функция platform.platform() возвращает одну строку, идентифицирующую базовую платформу, с максимально возможным количеством полезной информации.

Вывод предназначен для чтения человеком, а не для машинного анализа. Это может выглядеть по-разному на разных платформах, и это предназначено.

При установке значения terse в значение True функция возвращает только абсолютный минимум информации, необходимой для идентификации платформы.

platform.processor() :

Функция platform.processor() возвращает реальное имя процессора, например ‘Amdk6’.

platform.python_build() :

Функция platform.python_build() возвращает кортеж (buildno, builddate) с указанием номера и даты сборки Python в виде строк.

platform.python_compiler() :

Функция platform.python_compiler() возвращает строку, идентифицирующую компилятор, используемый для компиляции Python.

platform.python_branch() :

Функция platform.python_branch() возвращает строку, идентифицирующую ветвь SCM реализации Python.

platform.python_implementation() :
platform.python_revision() :

Функция platform.python_revision() возвращает строку, идентифицирующую ревизию SCM реализации Python.

platform.python_version() :
platform.python_version_tuple() :

Функция platform.python_version_tuple() возвращает версию Python как кортеж (major, minor, patchlevel) строк.

Обратите внимание, что в отличие от Python sys.version, возвращаемое значение всегда будет включать уровень исправления (по умолчанию он равен 0).

platform.release() :

Функция platform.release() возвращает выпуск системы, например, ‘2.2.0’ или ‘NT’. Если значение не может быть определено, то возвращается пустая строка.

platform.system() :
platform.system_alias(system, release, version) :
platform.version() :
platform.uname() :

Функции платформы Java

platform.java_ver(release=», vendor=», vminfo=(», », »), osinfo=(», », »)) :

Функция platform.java_ver() возвращает версию интерфейса для Jython.

Функции платформы Windows

platform.win32_ver(release=», version=», csd=», ptype=») :

Примечание. Эта функция лучше всего работает с установленным пакетом win32all Марка Хаммонда. Очевидно, что функция platform.win32_ver() работает только на Win32-совместимых платформах.

platform.win32_edition() :
platform.win32_is_iot() :

Функции платформы Mac OS.

platform.mac_ver(release=», versioninfo=(», », »), machine=») :

Функции платформы Unix.

platform.libc_ver(executable=sys.executable, lib=», version=», chunksize=16384) :

Файл читается и сканируется кусками байтов.

Функции платформы Unix.

platform.freedesktop_os_release() :

Источник

Модуль platform в Python, информация о системе.

Различная информацию об операционной системе и языке Python.

Python часто используется в качестве кроссплатформенного языка и иногда необходимо знать, на какой системе работает программа.

Например, инструмент для управления сетевой конфигурацией операционной системы может определять переносимое представление сетевых интерфейсов, псевдонимов, IP-адресов и т. д., но когда приходит время редактировать файлы конфигурации, то Python должен знать больше о хосте, чтобы использовать правильные команды и файлы конфигурации операционной системы.

Модуль platform включает в себя инструменты для получения сведений об аппаратной платформе, операционной системе и интерпретаторе на которой выполняется программа.

Содержание:

Кроссплатформенные функции.

platform.architecture(executable=sys.executable, bits=», linkage=») :

Функция platform.architecture() запрашивает исполняемый файл executable для получения различной информации об архитектуре. По умолчанию двоичный файл интерпретатора Python.

Возвращает кортеж (bits, linkage), который содержит информацию об архитектуре битов и формате связи, используемом для исполняемого файла. Оба значения возвращаются в виде строк.

Функция полагается на системную команду file для выполнения реальной работы. Это доступно на большинстве, если не на всех платформах Unix и некоторых не-Unix платформах и только в том случае, если исполняемый файл указывает на интерпретатор Python.

Примечание.
В Mac OS X (и, возможно, на других платформах) исполняемые файлы могут быть универсальными файлами с несколькими архитектурами. Чтобы получить 64-разрядность текущего интерпретатора, более надежно запросить атрибут sys.maxsize :

Читайте также:  Жесты и что они обозначают в разных странах

platform.machine() :

Функция platform.machine() возвращает тип машины, например ‘I386’. Если значение не может быть определено, то возвращается пустая строка.

platform.node() :

Функция platform.node() возвращает сетевое имя компьютера, может быть не полностью! Если значение не может быть определено, то возвращается пустая строка..

platform.platform(aliased=0, terse=0) :

Функция platform.platform() возвращает одну строку, идентифицирующую базовую платформу, с максимально возможным количеством полезной информации.

Вывод предназначен для чтения человеком, а не для машинного анализа. Это может выглядеть по-разному на разных платформах, и это предназначено.

При установке значения terse в значение True функция возвращает только абсолютный минимум информации, необходимой для идентификации платформы.

platform.processor() :

Функция platform.processor() возвращает реальное имя процессора, например ‘Amdk6’.

platform.python_build() :

Функция platform.python_build() возвращает кортеж (buildno, builddate) с указанием номера и даты сборки Python в виде строк.

platform.python_compiler() :

Функция platform.python_compiler() возвращает строку, идентифицирующую компилятор, используемый для компиляции Python.

platform.python_branch() :

Функция platform.python_branch() возвращает строку, идентифицирующую ветвь SCM реализации Python.

platform.python_implementation() :

platform.python_revision() :

Функция platform.python_revision() возвращает строку, идентифицирующую ревизию SCM реализации Python.

platform.python_version() :

platform.python_version_tuple() :

Функция platform.python_version_tuple() возвращает версию Python как кортеж (major, minor, patchlevel) строк.

Обратите внимание, что в отличие от Python sys.version, возвращаемое значение всегда будет включать уровень исправления (по умолчанию он равен 0).

platform.release() :

Функция platform.release() возвращает выпуск системы, например, ‘2.2.0’ или ‘NT’. Если значение не может быть определено, то возвращается пустая строка.

platform.system() :

platform.system_alias(system, release, version) :

platform.version() :

platform.uname() :

Функции платформы Java

platform.java_ver(release=», vendor=», vminfo=(», », »), osinfo=(», », »)) :

Функция platform.java_ver() возвращает версию интерфейса для Jython.

Функции платформы Windows

platform.win32_ver(release=», version=», csd=», ptype=») :

Примечание. Эта функция лучше всего работает с установленным пакетом win32all Марка Хаммонда. Очевидно, что функция platform.win32_ver() работает только на Win32-совместимых платформах.

platform.win32_edition() :

platform.win32_is_iot() :

Функции платформы Mac OS.

platform.mac_ver(release=», versioninfo=(», », »), machine=») :

Функции платформы Unix.

platform.libc_ver(executable=sys.executable, lib=», version=», chunksize=16384) :

Файл читается и сканируется кусками байтов.

Функции платформы Unix.

platform.freedesktop_os_release() :

Источник

Как проверить версию Python

How to Check Python Version

В этом руководстве объясняется, как проверить, какая версия Python установлена ​​в вашей операционной системе с помощью командной строки. Это может быть полезно при установке приложений, которым требуется определенная версия Python.

Мы также покажем вам, как программно определить, какая версия Python установлена ​​в системе, где выполняется скрипт Python. Например, при написании сценариев Python вам необходимо определить, поддерживает ли сценарий версию Python, установленную на компьютере пользователя.

Версии Python

Готовые к выпуску версии Python имеют следующую версию:

Например, в Python 3.6.8 3 это основная версия, 1 дополнительная версия и 2 микро версия.

Проверка версии Python

Python предустановлен в большинстве дистрибутивов Linux и macOS.

Вы можете проверить, установлен ли Python 3, набрав:

Если вы хотите установить последнюю версию Python, процедура зависит от операционной системы, которую вы используете.

Программная проверка версии Python

Python 2 и Python 3 принципиально разные. Код, написанный на Python 2.x, может не работать в Python 3.x.

Допустим, у вас есть скрипт, который требует как минимум Python версии 3.5, и вы хотите проверить, соответствует ли система требованиям. Вы можете сделать это, просто проверив major и minor версии:

Если вы запустите скрипт, используя версию Python менее 3.5, он выдаст следующий вывод:

Чтобы написать код Python, который работает под Python 3 и 2, используйте future модуль. Это позволяет запускать Python 3.x-совместимый код под Python 2.

Вывод

Источник

Обучающий проект