मैं अजगर 2.7 में game लिख रहा हूं, और अपने गेम के विकास पर्यावरण के "बूटस्ट्रैप" को स्क्रिप्ट करना चाहता हूं, और फिर shovel का आह्वान करना चाहता हूं। यदि वर्चुअलएन्वापर का पता नहीं चला है, तो मैं virtualenv bootstrap solution का उपयोग करूंगा। हालांकि अगर वर्चुअलएन्वापर पता चला है, तो मैं इसके बजाय इसका उपयोग करना चाहूंगा।स्क्रिप्टिंग वर्चुअलenvwrapper mkvirtualenv
समस्या यह है कि वर्चुअलएन्वापर इनलाइन शैल फ़ंक्शंस को मेरी बूटस्ट्रैप स्क्रिप्ट द्वारा विरासत में नहीं मिला है। जहां तक मुझे पता है, वह "mkvirtualenv NotOrion" जैसे कुछ चलने का नियम है। के बाद से वातावरण चर "VIRTUALENVWRAPPER_VIRTUALENV" सेट (मेरे मामले में, macports से: /opt/local/bin/virtualenv-2.7
) है:
#!/usr/bin/env bash
# Name your first "bootstrap" environment:
ENV_NAME=NotOrion
# Options for your first environment:
ENV_OPTS='--no-site-packages --distribute'
unset PYTHONDONTWRITEBYTECODE
function create_virtualenvwrapper_venv {
echo "installing into virtualenvwrapper directory"
cd $WORKON_HOME
$VIRTUALENVWRAPPER_VIRTUALENV $ENV_OPTS $ENV_NAME
cd -
#mkvirtualenv $ENV_NAME
#workon $ENV_NAME
}
function create_standalone_venv {
# not run/snipped
}
if [ -z "$VIRTUALENVWRAPPER_VIRTUALENV" ]; then
create_standalone_venv
else
create_virtualenvwrapper_venv
fi
pip install shovel
shovel help
मेरे बूटस्ट्रैप स्क्रिप्ट फावड़ा स्थापित करने समाप्त हो जाए, मैं इसे करने के बजाय सीधे उपयोग करने की कोशिश। हालांकि फावड़ा चल (उदाहरण के लिए अंतिम पंक्ति) चेतावनी का उत्पादन:
/Users/me/.virtualenvs/NotOrion/bin/shovel:25: UserWarning: Module argparse was already imported from /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/argparse.pyc, but /Users/me/.virtualenvs/NotOrion/lib/python2.7/site-packages is being added to sys.path
import pkg_resources
# normal shovel output snipped
तो यह संभव है किसी भी तरह एक स्क्रिप्ट से "mkvirtualenv" आह्वान करने के लिए? यदि नहीं, तो क्या मैं अपनी स्क्रिप्ट से कुछ और चला सकता हूं जिसका एक ही प्रभाव है लेकिन चेतावनियां उत्पन्न नहीं करता है?
एक सटीक समस्या, बूटस्ट्रैपिंग स्क्रिप्ट लिखना। धन्यवाद! – cloudrave