Как узнать разрядность python
Перейти к содержимому

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

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

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

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

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

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

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

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

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

Как определить, выполняется ли моя оболочка 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:

Which command to use for checking whether python is 64bit or 32bit

I am not able to find any command to check if my python is compiled for 32bit system or 64bit system.

and it only tells the version

Also when I go to python download site they have one version of python for linux but two versions for mac i.e 32bit and 64bit.

user avatar

4 Answers 4

For Python 2.6 and above, you can use sys.maxsize as documented here:

UPDATE: I notice that I didn’t really answer the question posed. While the above test does accurately tell you whether the interpreter is running in a 32-bit or a 64-bit architecture, it doesn’t and can’t answer the question of what is the complete set of architectures that this interpreter was built for and could run in. As was noted in the question, this is important for example with Mac OS X universal executables where one executable file may contain code for multiple architectures. One way to answer that question is to use the operating system file command. On most systems it will report the supported architectures of an executable file. Here’s how to do it in one line from a shell command line on most systems:

Using the default system Python on OS X 10.6, the output is:

On one Linux system:

BTW, here’s an example of why platform is not reliable for this purpose. Again using the system Python on OS X 10.6:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *