GNU/Linux >> Belajar Linux >  >> Linux

Perintah mana yang digunakan untuk memeriksa apakah python 64bit atau 32bit

Pertama, buka cmd dan ketik

$ python

Kemudian, ketikkan dua baris berikut

>>> import platform

>>> platform.architecture()

Ketik konsol Linux:

  1. Jika Anda ingin memeriksa apakah aplikasi memiliki arsitektur 64 bit atau 32 bit dengan menggunakan perintahnya untuk dijalankan:
type -p <command_to_run_application> | xargs readlink -f | xargs file -b | sed 's/, /\n/g' | sed -n 2p
  1. Jika Anda ingin memeriksa apakah aplikasi memiliki arsitektur 64 bit atau 32 bit dengan menggunakan jalur lengkap ke aplikasi:
file -b <full_path_to_an_application> | sed 's/, /\n/g' | sed -n 2p

Misalnya, untuk Python 3 perintah yang sesuai dapat berupa:

type -p python3 | xargs readlink -f | xargs file -b | sed 's/, /\n/g' | sed -n 2p
file -b /usr/bin/python3.5 | sed 's/, /\n/g' | sed -n 2p

Keluaran yang mungkin:

x86-64

atau

Intel 80386

atau

ARM

atau lainnya.

Jika keluarannya adalah "Intel 80386" maka aplikasi tersebut memiliki arsitektur 32 bit.

Jika keluarannya adalah "x86-64" maka aplikasi memiliki arsitektur 64 bit.


import platform
platform.architecture()[0]
#'32bit'

Untuk Python 2.6 ke atas, Anda dapat menggunakan sys.maxsize seperti yang didokumentasikan di sini:

import sys
is_64bits = sys.maxsize > 2**32

PEMBARUAN:Saya perhatikan bahwa saya tidak benar-benar menjawab pertanyaan yang diajukan. Meskipun tes di atas secara akurat memberi tahu Anda apakah juru bahasa berjalan dalam arsitektur 32-bit atau 64-bit, itu tidak dan tidak dapat menjawab pertanyaan tentang rangkaian lengkap arsitektur yang dibuat oleh juru bahasa ini. dan dapat dijalankan. Seperti disebutkan dalam pertanyaan, ini penting misalnya dengan executable universal Mac OS X di mana satu file yang dapat dieksekusi dapat berisi kode untuk banyak arsitektur. Salah satu cara untuk menjawab pertanyaan tersebut adalah dengan menggunakan sistem operasi file memerintah. Pada sebagian besar sistem ini akan melaporkan arsitektur yang didukung dari file yang dapat dieksekusi. Berikut cara melakukannya dalam satu baris dari baris perintah shell di sebagian besar sistem:

file -L $(python -c 'import sys; print(sys.executable)')

Menggunakan sistem default Python pada OS X 10.6, hasilnya adalah:

/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64):  Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386):    Mach-O executable i386
/usr/bin/python (for architecture ppc7400): Mach-O executable ppc

Di satu sistem Linux:

/usr/bin/python: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, stripped

BTW, inilah contoh mengapa platform tidak dapat diandalkan untuk tujuan ini. Sekali lagi menggunakan sistem Python di OS X 10.6:

$ arch -x86_64 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit True
$ arch -i386 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit False

Linux
  1. Cara menggunakan Perintah Su di Linux

  2. Cara Menggunakan Perintah SFTP untuk Transfer File Aman

  3. Bagaimana Cara Menggunakan `yang` Pada Perintah Aliased?

  1. Untuk beban kerja apa Anda pertama kali menggunakan container Linux?

  2. Linux – Aplikasi Mana yang Digunakan Untuk Kalender?

  3. Bagaimana cara menginstal PhantomJS untuk digunakan dengan Python Selenium di Raspberry Pi?

  1. Perintah terminal Linux mana yang paling sering Anda gunakan?

  2. Output Dari Perintah Yang Digunakan Untuk Input Ke Cd?

  3. Jalur Mana yang Digunakan `Sudo ` Untuk Mencari “?