Как узнать разрядность 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 :
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.