2012-06-13 21 views
16

से संकुल को संस्थापित करने में विफल रहता है मैं आवश्यकता फ़ाइल का उपयोग कर एक पायथन सॉफ्टवेयर स्थापित करने की कोशिश कर रहा हूं। हैरानी की बात है http://pastie.org/4079800पीआईपी info.txt

(parser) 
>> pip freeze 
distribute==0.6.24 
wsgiref==0.1.2 

, अगर मैं मैन्युअल रूप से स्थापित करने का प्रयास:

>> cat requirements.txt 
Cython==0.15.1 
numpy==1.6.1 
distribute==0.6.24 
logilab-astng==0.23.1logilab-common==0.57.1 
netaddr==0.7.6 
numexpr==2.0.1 
ply==2.5 
pycallgraph==0.5.1 
pyflowtools==0.3.4.1 
pylint==0.25.1 
tables==2.3.1 
wsgiref==0.1.2 

तो मैं एक आभासी वातावरण

>> mkvirtualenv parser 

(parser) 
>> pip freeze 
distribute==0.6.24 
wsgiref==0.1.2 

(parser) 
>> pip install -r requirements.txt 

बनाने ... और फिर मैं संकुल डाउनलोड किया लेकिन त्रुटियों के साथ स्थापित नहीं प्रत्येक पैकेज, वे बस ठीक स्थापित करते हैं। उदाहरण के लिए:

>> pip install numpy==1.6.1 

(parser) 
>> pip freeze 
distribute==0.6.24 
wsgiref==0.1.2 
numpy==1.6.1 

मैं खो गया हूं। क्या हो रहा है?

पुनश्च: मैं pip v1.1 और virtualenv साथ python v2.7.2 और virtualenvwrapper

उत्तर

15

ऐसा लगता है कि numexpr पैकेज की तरह numpy पर एक स्थापित समय निर्भरता है उपयोग कर रहा हूँ। पिप आपकी आवश्यकताओं के माध्यम से दो गुजरता है: सबसे पहले यह सभी संकुल डाउनलोड करता है और इसके मेटाडेटा प्राप्त करने के लिए प्रत्येक के setup.py चलाता है, और फिर यह उन्हें दूसरे पास में इंस्टॉल करता है।

तो, numexpr अपने setup.py में numpy से आयात करने का प्रयास कर रहा है, लेकिन जब पाइप पहले numexpr के setup.py चलाता है, तो यह अभी तक numpy स्थापित नहीं किया गया है।

यही कारण है कि आप संकुल को एक-एक करके स्थापित करते समय यह त्रुटि नहीं देखते हैं: यदि आप उन्हें एक समय में स्थापित करते हैं, तो pip install numexpr से पहले आपके पर्यावरण में numpy पूरी तरह स्थापित हो जाएगा।

एकमात्र समाधान pip install numpy को pip install -r requirements.txt चलाने से पहले स्थापित करना है - आप इसे एकल आवश्यकता.txt फ़ाइल के साथ एक ही कमांड में करने में सक्षम नहीं होंगे।

अधिक यहाँ जानकारी: https://github.com/pypa/pip/issues/25

+2

यह numexpr में एक पैकेजिंग बग की तरह दिखता है; यदि आप वास्तव में इसे बना रहे हैं, तो इसके setup.py को केवल numpy से आयात करने के लिए संशोधित किया जाना चाहिए, उदा। 'importError' को पकड़कर और 'extra_setup_opts' के बिना आगे बढ़कर यदि आप अभी' setup.py egg_info' चला रहे हैं। – ejucovy

+3

हम (पीआईपी) शायद इस पर एक गाइड या कम से कम मौजूदा दस्तावेज़ों के लिए लिंक होना चाहिए। –

+2

आपको [एक समस्या दर्ज करें] (http://code.google.com/p/numexpr/issues/entry) numexpr के साथ – jterrace

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