समस्या: आपके पास 64-बिट पायथन और 32-बिट इंस्टॉलर है। यह विस्तार मॉड्यूल के लिए समस्याएं पैदा करेगा।
जिन कारणों से इंस्टॉलर को पायथन नहीं मिल रहा है, वह विंडोज 7 से पारदर्शी 32-बिट एमुलेशन है। 64-बिट और 32-बिट प्रोग्राम विंडोज रजिस्ट्री के विभिन्न हिस्सों को लिखेंगे।
64-बिट: HKLM|HKCU\SOFTWARE\
32-बिट HKLM|HKCU\SOFTWARE\wow6432node\
:।
इसका मतलब यह है कि 64-बिट पायथन इंस्टॉलर को लिखता है HKLM\SOFTWARE\Python
, लेकिन 32-बिट सेटपूलो इंस्टॉलर को देखता है HKLM\SOFTWARE\wow6432node\Python
(यह स्वचालित रूप से विंडोज़ द्वारा नियंत्रित किया जाता है, प्रोग्राम ध्यान नहीं देते हैं)। यह अपेक्षित व्यवहार है और बग नहीं।
आमतौर पर, आपके पास ये विकल्प हैं:
- "क्लीन" तरीका: 32-बिट पायथन का उपयोग करें यदि आपको 32-बिट मॉड्यूल या एक्सटेंशन का उपयोग करना है
- दूसरा "क्लीन" तरीका: 64-बिट पायथन का उपयोग करते समय केवल 64-बिट इंस्टालर का उपयोग करें (नीचे देखें)
- ऊपर दिए गए जवाब से पता चलता है: कॉपी
HKLM\SOFTWARE\Python
करने के लिए HKLM\SOFTWARE\wow6432node\Python
, लेकिन इससे बाइनरी डिस्ट्रीब्यूशन में समस्या आएगी , क्योंकि 64-बिट पायथन 32-बिट संकलित मॉड्यूल को लोड नहीं कर सकता (ऐसा न करें!)
- डिस्टुटिल्स इंस्टॉलर (easy_install या pip) के बजाय सेटपूल से शुद्ध पाइथन मॉड्यूल स्थापित करें
उदाहरण के लिए, सेटटॉप्स के लिए, आप 64-बिट पायथन के लिए 32-बिट इंस्टॉलर का उपयोग नहीं कर सकते क्योंकि इसमें बाइनरी फाइलें शामिल हैं। लेकिन http://www.lfd.uci.edu/~gohlke/pythonlibs/ पर 64-बिट इंस्टॉलर है (अन्य मॉड्यूल के लिए भी कई इंस्टॉलर हैं) । आजकल, PyPi पर कई पैकेजों में द्विआधारी वितरण होते हैं, इसलिए आप उन्हें पाइप के माध्यम से स्थापित कर सकते हैं।