2013-02-11 32 views
28

अपस्टार्ट किसी कारण से मेरे वर्चुअलएव को सक्रिय नहीं करेगा।'स्रोत बिन/सक्रिय' चलाने को क्यों शुरू नहीं किया जा सकता है?

यह मैं इसे

script 
    # My startup script, plain old shell scripting here. 
    cd path/to/env 
    source bin/activate 
    .... 
end script 

virtualenv ठीक चलता है जब मैन्युअल

शुरू कर दिया क्यों यह काम नहीं करता कैसे चलाया जाता है?

+1

यह 'upstart' लगातार आदेशों के बीच पर्यावरण के संरक्षण नहीं है संभव है? पर्यावरण को सक्रिय किए बिना सीधे अपने ऐप को चलाने के लिए आप हमेशा '$ VIRTUAL_ENV/bin/python ...' का उपयोग कर सकते हैं। – millimoose

+0

@millimoose जहां $ VIRTUAL_ENV वर्चुअलएन्व का मार्ग है? – Calum

+0

बिल्कुल, 'सक्रिय करें' को एक ही वैरिएबल सेट करना चाहिए ताकि मैंने यह पता लगाया कि नाम परिचित होगा। – millimoose

उत्तर

51

तो Ive यह स्रोत 'का उपयोग कर की तरह बाहर काम किया तो मैं से लाइन बदल किसी कारण नवोदय नहीं करता है के लिए,:

source bin/activate 

. bin/activate 

करने के लिए और है कि काम करता है, जानते हो क्यों हालांकि न , इसलिए कोई दिलचस्पी लेगा अगर कोई यह

+0

कारण से परे, मैंने उबंटू 12.04 पर इसकी पुष्टि की है। धन्यवाद – dbro

+0

यह मुझे पागल कर रहा है। अगर मैं कर सकता तो मैं आपको पांच अपवॉट्स दूंगा। धन्यवाद! – aendrew

+2

इस सवाल का कारण इस प्रश्न के मेरे अलग जवाब में है। –

38

source एक बैश अंतर्निहित कमांड है, लेकिन केवल एक पॉज़िक्स "विशेष" कमांड है।

स्क्रिप्ट अनुभाग निष्पादित करते समय उपस्टार्ट sh -e चलाता है।

श खोल source नहीं समझती, केवल .