मैं अपनी फैब्रिक स्क्रिप्ट को स्थानीय रूप से चलाना चाहता हूं, जो बदले में, मेरे सर्वर में लॉग इन करेगा, उपयोगकर्ता को तैनात करने के लिए स्विच करेगा, प्रोजेक्ट्स को सक्रिय करेगा ।virtualenv, जो प्रोजेक्ट के लिए dir को बदल देगा और git पुल जारी करेगा।
def git_pull():
sudo('su deploy')
# here i need to switch to the virtualenv
run('git pull')
मैं आमतौर पर virtualenvwrapper से वर्कऑन कमांड का उपयोग करता हूं, जो सक्रिय फ़ाइल को स्रोत बनाता है और पोस्टएक्टिनेट फ़ाइल मुझे प्रोजेक्ट फ़ोल्डर में डाल देगा। इस मामले में, ऐसा लगता है कि क्योंकि कपड़े खोल के भीतर से चलते हैं, नियंत्रण कपड़े को दे दिया जाता है, इसलिए मैं बैश के स्रोत को '$ स्रोत ~ / .virtualenv / myvenv / बिन / सक्रिय' में उपयोग नहीं कर सकता।
किसी के पास एक उदाहरण और स्पष्टीकरण है कि उन्होंने यह कैसे किया है?
workon
एक के रूप में उपयोग क्यों नहीं कर रहे हैंprefix
?