क्या मुझे पायथन 32 बिट या पायथन 64 बिट का उपयोग करना चाहिए


143

मेरे पास एक win7 64 बिट इंस्टॉलेशन है। क्या मुझे पायथन 64 बिट का उपयोग करना चाहिए? वैसे भी 32 बिट और 64 बिट पायथन संस्करणों के बीच अंतर क्या हैं? क्या विभिन्न पायथन पैकेज (जैसे कि दक्षिण, django, mysqldb आदि) केवल 32 बिट / 64 बिट का समर्थन करते हैं?


जवाबों:


91

64 बिट संस्करण एक एकल प्रक्रिया को 32 बिट से अधिक रैम का उपयोग करने की अनुमति देगा, हालांकि आप पा सकते हैं कि मेमोरी फ़ुटप्रिंट दोगुना हो जाता है जो इस बात पर निर्भर करता है कि आप रैम (विशेष रूप से पूर्णांक) में क्या संग्रहीत कर रहे हैं।

उदाहरण के लिए यदि आपके ऐप में> 2GB RAM की आवश्यकता है, तो आप 32bit से 64bit पर स्विच करते हैं, तो आप पा सकते हैं कि आपके ऐप को अब 4GB RAM की आवश्यकता है।

जांचें कि आपके सभी 3 पार्टी मॉड्यूल 64 बिट में उपलब्ध हैं, अन्यथा इस बीच 32 बिट पर छड़ी करना आसान हो सकता है


13
Afaik, MysqlDB के लिए 64 बिट बायनेरिज़ नहीं हैं - यही कारण है कि मैं 32 बिट पायथन के साथ चिपका हूं।
जोहान रिट्जेल

12
क्या तृतीय पक्ष मॉड्यूल को 64 बिट का स्पष्ट समर्थन करने की आवश्यकता है?
जोनाथन

8
मैं पिछले कई महीनों से (इस पोस्ट के पांच साल बाद) 64 बिट पाइथन 2.7 का उपयोग कर रहा हूं और हालांकि मैं कहूंगा कि यह निश्चित रूप से इसके लायक है - अगर आप ज्यादा समय बर्बाद नहीं करना चाहते हैं तो सभी के लिए रैम का उपयोग करना बहुत अच्छा है अपने डेटा को प्रबंधित करना - अभी भी कई पुस्तकालय हैं जो 64-बिट संस्करण प्राप्त करने के लिए या तो थोड़ा कष्टप्रद हैं, या कई मामलों में लगभग असंभव है (32-बिट डीएलएल एक संसाधन का ऐसा ही एक उदाहरण है जिसका मैं अभी तक लाभ उठाने में कामयाब नहीं हुआ हूं पाइथन का 32-बिट संस्करण लोड करना)
डैरेन रिंगर

12
इसके विपरीत भी है: टेंसरफ्लो केवल 64 बिट अजगर के लिए खिड़कियों पर उपलब्ध है, सिवाय इसके कि आप इसे बनाना चाहते हैं।
ट्रेकजोनसन

28

मेरे अनुभव में, 32-बिट संस्करण का उपयोग करना अधिक परेशानी मुक्त है। जब तक आप उन अनुप्रयोगों पर काम कर रहे हैं जो मेमोरी का भारी उपयोग करते हैं (ज्यादातर वैज्ञानिक कंप्यूटिंग, जो 2 जीबी से अधिक मेमोरी का उपयोग करता है), तो आप 32-बिट संस्करणों के साथ बेहतर हैं क्योंकि:

  1. आप आमतौर पर कम मेमोरी का उपयोग करते हैं।
  2. आपको COM (जब आप विंडोज पर हैं) का उपयोग करके कम समस्याएं हैं।
  3. यदि आपको DLL लोड करना है, तो वे संभवतः 32-बिट भी हैं। पायथन 64-बिट 32-बिट लाइब्रेरी को लोड नहीं कर सकता है बिना कुछ भारी हैक के, एक और पायथन चल रहा है, इस बार 32-बिट में, और आईपीसी का उपयोग कर।
  4. यदि आपको अपने द्वारा संकलित DLL को लोड करना है, तो आपको उन्हें 64-बिट पर संकलित करना होगा, जो आमतौर पर करना कठिन होता है (विशेषकर अगर विंडोज पर MinGW का उपयोग करते हुए)।
  5. यदि आप कभी PyInstaller या py2.exe का उपयोग करते हैं, तो वे उपकरण आपके Python दुभाषिया की समान बिटनेस के साथ निष्पादक उत्पन्न करेंगे।

6

आपको 64 बिट का उपयोग करने की आवश्यकता नहीं है क्योंकि विंडोज़ में wow64 का उपयोग करके 32 बिट प्रोग्राम का अनुकरण किया जाएगा। लेकिन मूल संस्करण (64 बिट) का उपयोग करने से आपको अधिक प्रदर्शन मिलेगा।


4

64 बिट संस्करण का उपयोग केवल तभी करें जब आपको भारी मात्रा में डेटा के साथ काम करना हो, उस परिदृश्य में, जॉन ला रोय ने कहा कि असुविधा के साथ 64 बिट बेहतर प्रदर्शन करते हैं; यदि नहीं, तो 32 बिट्स के साथ रहें।


2

मुझे 32 में अजगर ऐप (बड़े डेटाफ्रेम चलाने) में समस्या थी - मेमोरी मेमोरी संदेश मिला, जबकि 64 पर यह ठीक काम करता था।


0

मशीन लर्निंग पैकेज जैसे टेंसरफ्लो 2.x को केवल 64 बिट पायथन पर काम करने के लिए डिज़ाइन किया गया है क्योंकि वे मेमोरी इंटेंसिव हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.