ความแตกต่างระหว่างไฟล์ปฏิบัติการ python3 และ python3m


116

อะไรคือความแตกต่างระหว่างไฟล์ปฏิบัติการ/usr/bin/python3และ/usr/bin/python3mไฟล์ปฏิบัติการ?

ฉันกำลังสังเกตพวกเขาใน Ubuntu 13.04 แต่ Google แนะนำว่ามีอยู่ในการแจกแจงอื่น ๆ ด้วย

ทั้งสองไฟล์มี md5sum เหมือนกัน แต่ดูเหมือนจะไม่ใช่ลิงก์สัญลักษณ์หรือฮาร์ดลิงก์ ทั้งสองไฟล์มีหมายเลขไอโหนดที่ส่งคืนแตกต่างกันls -liและการทดสอบfind -xdev -samefile /usr/bin/python3.3ไม่ส่งคืนไฟล์อื่นใด

มีคนถามคำถามที่คล้ายกันใน AskUbuntuแต่ฉันต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างสองไฟล์


11
สิ่งนี้ครอบคลุมในPEP ที่กล่าวถึงในคำตอบของคำถามที่เชื่อมโยง
chepner

อ๊ะขอบคุณ! ก่อนที่จะเขียนคำถามนี้ฉันอ่าน PEP สองสามบรรทัดแรก แต่ขี้เกียจอ่านทั้งหมด ...
James Mishra

คำตอบ:


117

เครดิตสำหรับสิ่งนี้ไปที่chepnerเพื่อชี้ให้เห็นว่าฉันมีลิงก์ไปยังโซลูชันแล้ว

การใช้งาน Python อาจรวมแฟล็กเพิ่มเติมในแท็กชื่อไฟล์ตามความเหมาะสม ตัวอย่างเช่นบนระบบ POSIX แฟล็กเหล่านี้จะมีส่วนทำให้ชื่อไฟล์:

- พร้อม - pydebug (ธง: d)

- พร้อม -pymalloc (ธง: m)

- พร้อมกับยูนิโคดกว้าง (แฟล็ก: u)

ผ่านPEP 3149

เกี่ยวกับmธงโดยเฉพาะนี่คือสิ่งที่ Pymalloc คือ:

Pymalloc ตัวจัดสรรออบเจ็กต์พิเศษที่เขียนโดย Vladimir Marangozov เป็นคุณสมบัติที่เพิ่มเข้ามาใน Python 2.1 Pymalloc มีจุดมุ่งหมายให้เร็วกว่าระบบ malloc () และมีค่าใช้จ่ายหน่วยความจำน้อยกว่าสำหรับรูปแบบการจัดสรรตามแบบฉบับของโปรแกรม Python ตัวจัดสรรใช้ฟังก์ชัน malloc () ของ C เพื่อรับพูลหน่วยความจำขนาดใหญ่จากนั้นตอบสนองคำขอหน่วยความจำขนาดเล็กจากพูลเหล่านี้

ผ่านมีอะไรใหม่ใน Python 2.3

ในที่สุดไฟล์ทั้งสองอาจถูกเชื่อมต่ออย่างหนักในบางระบบ แม้ว่าทั้งสองไฟล์จะมีหมายเลขไอโหนดที่แตกต่างกันในระบบ Ubuntu 13.04 ของฉัน (ซึ่งเป็นไฟล์ที่แตกต่างกัน) โพสต์ comp.lang.python จากสองปีที่แล้วแสดงให้เห็นว่าครั้งหนึ่งเคยมีการเชื่อมต่อแบบฮาร์ดลิงก์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.