2010-10-25 15 views
57

विंडोज एक्सपी पर पायथन 2.7 इंस्टॉल करने के बाद, मैन्युअल रूप से %PATH% को python.exe पर सेट करें (पाइथन इंस्टॉलर ऐसा क्यों नहीं करेगा?), फिर setuptools 0.6c11 इंस्टॉल करना (पाइथन इंस्टॉलर ऐसा क्यों नहीं करता है?), फिर मैन्युअल रूप से %PATH% को easy_install.exe पर सेट करें (इंस्टॉलर ऐसा क्यों नहीं करता?), मैंने आखिरकार easy_install के साथ एक पायथन पैकेज स्थापित करने का प्रयास किया, लेकिन easy_install विफल हो गया जब यह ' pywin32 पैकेज स्थापित नहीं है, जो एक निर्भरता है। मैं विंडोज एक्सपी पर कैसे काम आसान तरीके से स्थापित कर सकता हूं? विफलता इस प्रकार है:विंडोज पर पाइथन की "easy_install" का उपयोग कैसे करें ... यह इतना आसान नहीं है

C:\>easy_install winpexpect 
Searching for winpexpect 
Best match: winpexpect 1.4 
Processing winpexpect-1.4-py2.7.egg 
winpexpect 1.4 is already the active version in easy-install.pth 

Using c:\python27\lib\site-packages\winpexpect-1.4-py2.7.egg 
Processing dependencies for winpexpect 
Searching for pywin32>=214 
Reading http://pypi.python.org/simple/pywin32/ 
Reading http://sf.net/projects/pywin32 
Reading http://sourceforge.net/project/showfiles.php?group_id=78018 
No local packages or download links found for pywin32>=214 
Best match: None 
Traceback (most recent call last): 
    File "C:\python27\scripts\easy_install-script.py", line 8, in 
    load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')() 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1712, in main 
    with_ei_usage(lambda: 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1700, in with_ei_usage 
    return f() 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1716, in 
    distclass=DistributionWithoutHelpCommands, **kw 
    File "C:\python27\lib\distutils\core.py", line 152, in setup 
    dist.run_commands() 
    File "C:\python27\lib\distutils\dist.py", line 953, in run_commands 
    self.run_command(cmd) 
    File "C:\python27\lib\distutils\dist.py", line 972, in run_command 
    cmd_obj.run() 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 211, in run 
    self.easy_install(spec, not self.no_deps) 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 446, in easy_install 
    return self.install_item(spec, dist.location, tmpdir, deps) 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 481, in install_item 
    self.process_distribution(spec, dists[0], deps, "Using") 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 519, in process_distribution 
    [requirement], self.local_index, self.easy_install 
    File "C:\python27\lib\site-packages\pkg_resources.py", line 563, in resolve 
    dist = best[req.key] = env.best_match(req, self, installer) 
    File "C:\python27\lib\site-packages\pkg_resources.py", line 799, in best_match 
    return self.obtain(req, installer) # try and download/install 
    File "C:\python27\lib\site-packages\pkg_resources.py", line 811, in obtain 
    return installer(requirement) 
    File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 434, in easy_install 
    self.local_index 
    File "C:\python27\lib\site-packages\setuptools\package_index.py", line 475, in fetch_distribution 
    return dist.clone(location=self.download(dist.location, tmpdir)) 
AttributeError: 'NoneType' object has no attribute 'clone' 
+9

@ राफ: इससे उसकी मदद नहीं होती है। –

+0

@ सर्जीओ तापिया: बस एक सुझाव। –

+0

उपरोक्त एक प्रश्न का उत्तर देने के लिए, पायथन इंस्टॉलर आपके पैथ चर को संशोधित नहीं करेगा क्योंकि 1) यह अनइंस्टॉल करने पर सही ढंग से PATH को संशोधित नहीं कर सकता है, और 2) आपके पास एक ही सिस्टम पर एकाधिक पायथन संस्करण हो सकते हैं, और इससे अप्रत्याशित हो सकता है व्यवहार। Http://bugs.python.org/issue3561 – Brandon

उत्तर

8

एक समस्या यह है कि .egg फ़ाइलों या स्रोत वितरण (.tgz, .tar, .tar.gz, .tar.bz2, या .zip फ़ाइलों के भीतर निहित) को डाउनलोड और स्थापित करने के लिए easy_install स्थापित किया गया है। यह नहीं जानता कि PyWin32 एक्सटेंशन से कैसे निपटें क्योंकि उन्हें within a separate installer executable रखा गया है। आपको उचित PyWin32 इंस्टॉलर फ़ाइल (पायथन 2.7 के लिए) डाउनलोड करने और इसे स्वयं चलाने की आवश्यकता होगी। जब आप फिर से easy_install चलाते हैं (बशर्ते आपने इसे सही स्थापित किया है, जैसे सर्जीओ के निर्देशों में), आपको देखना चाहिए कि आपका winpexpect पैकेज सही तरीके से स्थापित किया गया है।

चूंकि यह विंडोज़ और ओपन सोर्स है जिसके बारे में हम बात कर रहे हैं, यह अक्सर चीजों को ठीक से काम करने के लिए इंस्टॉल विधियों का गन्दा संयोजन हो सकता है। हालांकि, सुनिश्चित करने के लिए, आसान-स्थापना हाथ-संपादन कॉन्फ़िगरेशन फ़ाइलों की तुलना में अभी भी बेहतर है।

+0

आपकी मदद के लिए धन्यवाद। मैन्युअल रूप से pywin32 exe इंस्टॉलर को स्थापित करके, easy_install त्रुटियों के बिना Winpexpect पैकेज को स्थापित करने में सक्षम था। हालांकि, जब मैं उस मॉड्यूल को पायथन के भीतर आयात करता हूं, तो यह "आयात त्रुटि: संसाधन नामक कोई मॉड्यूल" के साथ मर जाता है। क्या यह अभी तक एक और कदम है जिसे मुझे अपने अजगर पर्यावरण को सही तरीके से काम करने के लिए जाना है? या यह Winpexpect मॉड्यूल में बस एक बग है? – Nick

+1

ठीक है: समाधान मिला: मैन्युअल रूप से pywin32 स्थापित करने के अलावा, मुझे pexpect और winpexpect मॉड्यूल को अनइंस्टॉल करना पड़ा, फिर केवल Winpexpect मॉड्यूल को पुनर्स्थापित करना पड़ा। इस बिंदु पर सब कुछ काम करता है। – Nick

+0

चलो उचित हो ...गड़बड़ी इसलिए नहीं है क्योंकि विंडोज़ बंद-स्रोत है, ऐसा इसलिए है क्योंकि यह सुनिश्चित करने में अधिक प्रयास किया गया है कि इंस्टॉल प्रक्रिया लिनक्स पर आसानी से काम करती है और विंडोज़ एक विचारधारा रही है। कोई कारण नहीं है कि easy_install पैकेज को डाउनलोड नहीं कर सका और यदि आवश्यक हो तो स्थानीय सिस्टम के लिए इसे संकलित करने के लिए एमएसबिल्ड का उपयोग करें। – Basic

1

एक बात के लिए, यह कहता है कि आप पहले से ही है कि मॉड्यूल स्थापित किया है।

easy_install यू PackageName

बेशक

, easy_install बहुत अच्छी तरह से करता है, तो पैकेज कुछ सी हेडर संकलित करने की आवश्यकता है और आप है काम नहीं करता है: आप इसे अपग्रेड करने की आवश्यकता है, तो आप कुछ इस तरह करना चाहिए विजुअल स्टूडियो का सही संस्करण स्थापित नहीं है। आप आसानी से स्थापित करने के बजाय पाइप या वितरित करने का प्रयास कर सकते हैं और देख सकते हैं कि वे बेहतर काम करते हैं या नहीं।

+0

यह पूरी तरह से स्थापित नहीं है। यह निर्भरता पर हर बार दुर्घटनाग्रस्त हो गया। यह * आंशिक रूप से * पहले स्थापित हो सकता है, लेकिन यह है। चूंकि यह मॉड्यूल विंडोज के लिए है, मुझे लगता है कि यह precompiled है। – Nick

23

आप विंडोज उपयोग कर रहे हैं 7 64-बिट संस्करण है, तो समाधान यहाँ पाया जाता है: http://pypi.python.org/pypi/setuptools

अर्थात्, यदि आप एक अजगर स्क्रिप्ट डाउनलोड, इसे चलाने, और फिर easy_install कमांडलाइन से सामान्य रूप से काम करेंगे की जरूरत है।

पीएस मैं मूल पोस्टर से सहमत हूं कि यह बॉक्स से बाहर काम करना चाहिए।

9

मैं ओपी से भी सहमत हूं कि ये सभी चीजें पहले से ही पाइथन के साथ आनी चाहिए। मुझे लगता है कि उस दिन तक हमें इसका सामना करना पड़ेगा।

installing easy_install faster and easier

मुझे आशा है कि यह आप या एक ही समस्या के साथ किसी के मदद करता है: यहाँ एक समाधान है कि वास्तव में मेरे लिए काम किया है!

+0

यह वास्तव में मेरी मदद की। धन्यवाद! – Rafid

+0

आपका स्वागत है! – Eenvincible

6

नीचे लिपि की प्रतिलिपि बनाएँ "ez_setup।py "नीचे दी गई यूआरएल से

https://bootstrap.pypa.io/ez_setup.py

और अपने अजगर स्थान

C:\Python27>

भागो आदेश

C:\Python27? python ez_setup.py

यह स्क्रिप्ट निर्देशिका के अंतर्गत easy_install स्थापित हो जाएगा में कॉपी

C:\Python27\Scripts

भागो आसान स्क्रिप्ट निर्देशिका से स्थापित>

C:\Python27\Scripts> easy_install

0

आप Anaconda's अजगर वितरण का उपयोग कर रहे हैं, तो

आप पिप के माध्यम से स्थापित कर सकते हैं

pip install setuptools

और फिर एक के रूप में यह निष्पादित मॉड्यूल

python -m easy_install

संबंधित मुद्दे