64-बिट विंडोज पर SetupTools स्थापित करना


133

मैं विंडोज 7 64-बिट पर पायथन 2.7 चला रहा हूं, और जब मैं सेटटॉपूल के लिए इंस्टॉलर चलाता हूं तो यह बताता है कि पायथन 2.7 स्थापित नहीं है। विशिष्ट त्रुटि संदेश है:

`Python Version 2.7 required which was not found in the registry`

पायथन का मेरा स्थापित संस्करण है:

`Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32`

मैं सेटटॉप्स साइट देख रहा हूं और इसमें 64-बिट विंडोज के लिए किसी भी इंस्टॉलर का उल्लेख नहीं है। क्या मुझे कुछ याद आया है या मुझे इसे स्रोत से स्थापित करना है?


7
पाठकों को ध्यान दें: नीचे स्क्रॉल करें, स्वीकृत उत्तर सबसे अच्छा नहीं है।

दुर्भाग्य से, जब मैंने अपना प्रश्न पोस्ट किया था, तो 64-बिट सेटअपटूल इंस्टॉलर मौजूद नहीं था, इसलिए मैंने पूरी तरह से यह जानकर कि यह हैक है, वर्कअराउंड को स्वीकार कर लिया।
क्वांटिकल

2
@JohnRobertson फिर सबसे अच्छा जवाब क्या है?
रास

जवाबों:


91

जाहिरा तौर पर (ओएस एक्स पर संबंधित 64- और 32-बिट मुद्दों का सामना करना पड़ रहा है) विंडोज इंस्टॉलर में एक बग है । मैं इस वर्कअराउंड में लड़खड़ा गया , जो मदद कर सकता है - मूल रूप से, आप अपना स्वयं का रजिस्ट्री मूल्य बनाते हैं HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPathऔर से InstallPath मान पर प्रतिलिपि बनाते हैं HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath। अधिक विवरण के लिए नीचे दिया गया उत्तर देखें।

यदि आप ऐसा करते हैं, तो सावधान रहें कि सेटप्टूल केवल 32-बिट लाइब्रेरी स्थापित कर सकते हैं

नोट: नीचे दी गई प्रतिक्रियाएं अधिक विस्तार से बताती हैं, इसलिए कृपया उन्हें भी पढ़ें।


1
PIL (PIL-1.1.7.win32-py2.7) भी स्थापित करने के साथ काम करता है।
पैनी

142

समस्या: आपके पास 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 पर कई पैकेजों में द्विआधारी वितरण होते हैं, इसलिए आप उन्हें पाइप के माध्यम से स्थापित कर सकते हैं।


7
अनौपचारिक इंस्टॉलरों के लिए बढ़िया लिंक!
एंड्री Drozdyuk

धन्यवाद। अजगर के लिए मेरी समस्या का हल 2.7 amd64 के साथ।
2

2
उसी तरह से चारों ओर के लिए चला जाता है (2.7 32 और setuptools 64) stackoverflow.com/a/10966396/404385 <- पता लगाने के लिए कि आपके स्थापित अजगर क्या है और 32/64
Cu7l4ss

1
वह कड़ी शुद्ध सोना है!
पॉल बिकोटे

1
उन लोगों के लिए जो एक व्हेल फ़ाइल को स्थापित करने का तरीका नहीं जानते हैं, आप उन्हें पाइप का उपयोग करके स्थापित करते हैं, जैसेpip install xyz.whl
arun

69

मैंने एक रजिस्ट्री (.reg) फ़ाइल बनाई जो स्वचालित रूप से आपके लिए रजिस्ट्री को बदल देगी। यह काम करता है अगर यह "C: \ Python27" में स्थापित है:

32-बिट संस्करण डाउनलोड करें HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\

64-बिट संस्करण डाउनलोड करें HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\


3
आपकी REG फ़ाइल ने मेरे लिए काम किया लेकिन मुझे इससे विपरीत समस्या थी इसलिए मुझे सभी प्रमुख नामों से "\ Wow6432Node" को निकालना पड़ा।
pwhe23

मुझे लगता है कि मैं 32bit के लिए एक लिंक पोस्ट कर सकता हूं ..: P
जो DF DF

बहुत बढ़िया पैच फ़ाइलें! महान! उसके लिये आपका धन्यवाद!!
बेनी न्युगबॉएर

@ बेनीएन्यूजबाउर कोई समस्या नहीं।
जो डीएफ

@EvanCaldwell कोई समस्या नहीं!
जो डीएफ

28

हाँ, आप सही हैं, समस्या 64-बिट पायथन और 32-बिट इंस्टॉलर के साथ सेटपूल के लिए है।

विंडोज पर 64-बिट सेटटूपूल स्थापित करने का सबसे अच्छा तरीका है कि ez_setup.py को C: \ Python27 \ Scripts डाउनलोड करें और इसे चलाएं। यह सेटटॉप्स के लिए उपयुक्त 64-बिट .egg फ़ाइल डाउनलोड करेगा और इसे आपके लिए इंस्टॉल करेगा।

स्रोत: http://pypi.python.org/pypi/setuptools

PS मैं 3 जी 64-बिट। Exe सेप्टोलूलर्स इंस्टॉलर या रजिस्ट्री में हेरफेर करने के खिलाफ सिफारिश करूंगा


2
विश्वास नहीं कर सकता कि यह समाधान कितना तेज और आसान था। मैंने अन्य रास्तों पर घंटों काम किया।
ब्रेट

1
मेरी राय में सबसे अच्छा और सबसे सुरक्षित समाधान!
djfranzwa

9

python2.7.reg(रजिस्ट्री फ़ाइल) नामक एक फ़ाइल बनाएं और इस सामग्री को इसमें डालें:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help\MainPythonDocumentation]
@="C:\\Python27\\Doc\\python26.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath]
@="C:\\Python27\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"

और सुनिश्चित करें कि हर रास्ता सही है!

फिर चलाएं (मर्ज करें) और किया :)


धन्यवाद! मैं पुष्टि कर सकता हूँ कि यह अजगर 2.76 और h5py सेटअप के लिए काम करता है। शायद सिर्फ अच्छे आदेश के लिए python276.chm के लिए डॉक्टर पथ को अपडेट करें :)
mork

9

इस जिस्टregister.py से फाइल प्राप्त करें । इसे अपने C ड्राइव या D ड्राइव पर सहेजें, इसे चलाने के लिए CMD पर जाएं:

'python register.py'

तब आप इसे इंस्टॉल कर पाएंगे।


यह सबसे सरल उपाय है। धन्यवाद! मुझे इस समस्या का सामना करना पड़ा जब wxPython2.8-win32-unicode-2.8.12.1-py27 को स्थापित करने का प्रयास किया गया और इसके बारे में शिकायत की गई कि अजगर पंजीकृत नहीं हैं
Robert1968

3

विंडोज पर 64-बिट पायथन के लिए ez_setup.py डाउनलोड करें और इसे चलाएं; यह उपयुक्त .egg फ़ाइल डाउनलोड करेगा और इसे आपके लिए इंस्टॉल करेगा।

लेखन के समय .exe इंस्टॉलर एक डिस्टुटिल इंस्टॉलर संगतता समस्या के कारण विंडोज के लिए पायथन के 64-बिट संस्करणों का समर्थन नहीं करता है ।


यह एक वास्तव में मेरे लिए काम किया! जो DF द्वारा अन्य स्क्रिप्ट मेरे लिए काम नहीं किया
शब्दफर्टवाइज

1

विंडोज इंस्टॉलर को विंडोज 7 में स्थापित पायथन डायरेक्टरी को खोजने की अनुमति देने के लिए , या, इंस्टॉलर को स्थापित करने के लिए कौन से पायथन इंस्टॉलेशन को बदलें, इंस्टॉल किए गए पथ को इंस्टाथ रजिस्ट्री कीज (डिफ़ॉल्ट) मान में जोड़ें:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ अजगर \ PythonCore \ 2.X \ InstallPath

जहां " X " पायथन संस्करण है (जो कि 2.5, 2.6, 2.6 या 2.7 है)।


1

मैंने उपरोक्त कोशिश की और LOCALMACHINE में रजिस्ट्री कुंजियों को जोड़ने से काम पूरा नहीं हो रहा था। तो अगर आप अभी भी अटके हुए हैं, तो यह कोशिश करें।

Windows रजिस्ट्री संपादक संस्करण 5.00

[HKEY_CURRENT_USER \ SOFTWARE \ अजगर]

[HKEY_CURRENT_USER \ SOFTWARE \ अजगर \ PythonCore]

[HKEY_CURRENT_USER \ SOFTWARE \ अजगर \ PythonCore \ 2.7]

[HKEY_CURRENT_USER \ SOFTWARE \ अजगर \ PythonCore \ 2.7 \ सहायता]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ Help \ Main पायथन डॉक्यूमेंटेशन] @ = "C: \ Python27 \ Doc \ python272 .chm"

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath] @ = "C: \ Python27 \"

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath \ InstallGroup] @ = "पायथन 2.7"

[HKEY_CURRENT_USER \ SOFTWARE \ अजगर \ PythonCore \ 2.7 \ मॉड्यूल]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath] @ = "C: \ Python27 \ Lib; C: \ Python27 \ DLLs; C: \ Python27 \ Lib \ lib-tk";

नोटपैड में उपरोक्त पेस्ट कॉपी करें और इसे पायथन 27.reg के रूप में सहेजें। अब ऊपर दिए गए उत्तरों में बताए अनुसार फ़ाइल चलाएँ / मर्ज करें। (सुनिश्चित करें कि आपकी स्थापना के अनुसार पायथन इंस्टॉलेशन के मार्ग सही हैं।

यह केवल वर्तमान उपयोगकर्ता के लिए, स्थानीय मशीन के लिए उपर्युक्त उत्तर क्या सुझाव देता है।


0

यहाँ एक और पोस्ट / थ्रेड का लिंक दिया गया है। मैं इस स्क्रिप्ट को पायथन 2.7 के पंजीकरण को स्वचालित करने में सक्षम था। ( .exeआप इसे रजिस्टर करना चाहते हैं , इसे पायथन 2.x से चलाना सुनिश्चित करें !)

अजगर 3.x को पंजीकृत करने के लिए मुझे printसिंटैक्स और आयात winreg(इसके बजाय _winreg) को संशोधित करना था , फिर पायथन 3 चलाएं .exe

https://stackoverflow.com/a/29633714/3568893


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