मैं अपने सामान्य से एक विशेष वर्चुअलनेव में एक अलग पायथन पाथ चाहता हूं। मैं इसे स्वचालित रूप से कैसे सेट करूं? मुझे एहसास है कि bin/activate
फ़ाइल हैक करना संभव है, क्या कोई बेहतर/अधिक मानक तरीका है?वर्चुअलएन्व को सक्रिय/निष्क्रिय करने पर मैं अपने PYTHONPATH को स्वचालित रूप से बदल सकता हूं?
13
A
उत्तर
19
यह django-users post शायद आपकी मदद करने जा रहा है। यह add2virtualenv कमांड का उपयोग करने के लिए वर्चुअलएन्व को लपेटने के लिए virtualenvwrapper का उपयोग करने का सुझाव देता है। इस का उपयोग करना, जब वातावरण में सक्रिय है, तो आप सिर्फ कॉल कर सकते हैं:
add2virtualenv directory1 directory2 ...
वर्तमान वातावरण के लिए अपने PYTHONPATH लिए निर्देशिका जोड़ने के लिए।
यह पर्यावरण स्विच पर स्वाभाविक रूप से पैथ परिवर्तनों को संभालता है। कोई काला जादू की आवश्यकता नहीं है। और voila!
2
संदर्भ के लिए bin/activate
का हैक किया गया संस्करण यहां है। यह PYTHONPATH सही ढंग से सेट करता है, लेकिन परेशान नहीं करता है।
# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly
deactivate() {
if [ -n "$_OLD_VIRTUAL_PATH" ] ; then
PATH="$_OLD_VIRTUAL_PATH"
export PATH
unset _OLD_VIRTUAL_PATH
fi
# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
hash -r
fi
if [ -n "$_OLD_VIRTUAL_PS1" ] ; then
PS1="$_OLD_VIRTUAL_PS1"
export PS1
unset _OLD_VIRTUAL_PS1
fi
if [ -n "$_OLD_PYTHONPATH" ] ; then
PYTHONPATH="$_OLD_PYTHONPATH"
export PYTHONPATH
unset _OLD_PYTHONPATH
fi
unset VIRTUAL_ENV
if [ ! "$1" = "nondestructive" ] ; then
# Self destruct!
unset deactivate
fi
}
# unset irrelavent variables
deactivate nondestructive
VIRTUAL_ENV="env_location" # Anonymized
export VIRTUAL_ENV
_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH
_OLD_VIRTUAL_PS1="$PS1"
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories
# see http://www.zetadev.com/software/aspen/
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
export PS1
# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
hash -r
fi
_OLD_PYTHONPATH="$PYTHONPATH"
PYTHONPATH="new_pythonpath" #Anonymized
export PYTHONPATH
संबंधित मुद्दे
- 1. मैं अपने वर्चुअलएन्व में कैसे स्थापित कर सकता हूं?
- 2. फ़ाइल को बाहरी रूप से बदल दिया गया है, तो मैं स्वचालित रूप से vim जांच कैसे कर सकता हूं?
- 3. ओएस एक्स पर, मैं अपने खोल को मछली से वापस कैसे बदल सकता हूं?
- 4. क्या मैं स्वचालित रूप से नल को पार्स करने के लिए AFNetworking प्राप्त कर सकता हूं?
- 5. आईओएस एप्लिकेशन के नाम को निर्दिष्ट करने वाली सेटिंग को मैं कहां बदल सकता हूं और बदल सकता हूं?
- 6. क्या मैं सशर्त रूप से कुंजीपटल पर इनपुट में दर्ज चरित्र को बदल सकता हूं?
- 7. मैं अपने फ़्लोटिंग बच्चों को समायोजित करने के लिए स्वचालित रूप से एक div कैसे बना सकता हूं?
- 8. मैं अपने परीक्षणों को स्वचालित रूप से चलाने के लिए ग्रहण को कैसे कॉन्फ़िगर कर सकता हूं?
- 9. मैं अपने पीएनजी छवियों में रंगों को नहीं बदल सकता
- 10. मैं चींटी को मैवेन से कैसे बदल सकता हूं?
- 11. मैं UIImageView को अपनी छवि को प्रोग्रामेटिक रूप से कैसे बदल सकता हूं?
- 12. मैं स्वचालित रूप से फ़ाइल के रूप में OLEObject की सामग्री को कैसे सहेज सकता हूं?
- 13. मैं रूबी को लुआ में कैसे बदल सकता हूं?
- 14. विजुअल स्टूडियो 2008 - क्या मैं डिफ़ॉल्ट रूप से "संदर्भ जोड़ने" टैब को बदल सकता हूं?
- 15. मैं स्वचालित ब्रेसिज़ को स्वचालित रूप से बंद करने के लिए emacs कैसे प्राप्त कर सकता हूं
- 16. मैं Emacs को अपनी स्टार्टअप फ़ाइल को स्वचालित रूप से संपादित करने से कैसे रोकूं?
- 17. क्या मैं स्वचालित रूप से साइथन फ़ाइलों को संकलित करने के लिए pydev को कॉन्फ़िगर कर सकता हूं?
- 18. मैं अपने हाईचार्ट्स पाइचर्ट के रंग कैसे बदल सकता हूं?
- 19. मैं बिट्ससेट को सी ++ में छोटा कैसे बदल सकता हूं?
- 20. क्या मैं अपने फ़ोल्डर ब्रॉउज़रडियलॉग का शीर्षक बदल सकता हूं?
- 21. मैं अपने आईओएस प्रोजेक्ट का नाम कैसे बदल सकता हूं?
- 22. मैं अपने आवेदन की भाषा कैसे बदल सकता हूं?
- 23. मैं एक्शन बार क्रियाओं को गतिशील रूप से कैसे बदल सकता हूं?
- 24. क्या मैं emacs fancy-startup-text को बदल सकता हूं?
- 25. पायथन sys.path - PYTHONPATH को जोड़ना
- 26. मैं जीसीसी/जी ++ के तरीके को स्वचालित रूप से हेडर कैसे नियंत्रित कर सकता हूं?
- 27. मैं सिंक को एक सिंक में कैसे बदल सकता हूं?
- 28. क्या मैं रैंक 3 में प्रोग्रामेटिक रूप से config.cache_classes को बदल सकता हूं?
- 29. मैं JSONArject को JSONObject में कैसे बदल सकता हूं?
- 30. मैं एक div को स्वचालित रूप से अपनी चौड़ाई कैसे सेट कर सकता हूं?
मैं इसे अभी आज़मा रहा हूं, और शायद मैं इसे कुछ दिनों में स्वीकार करूंगा यदि अभी भी कोई अन्य समाधान नहीं है जो अतिरिक्त पैकेजों पर निर्भर नहीं है। – saffsd
यह ध्यान देने योग्य है कि आप अपने वर्चुअलएन्वापर परियोजना फ़ोल्डर में 'पोस्टएक्टिवेट' स्क्रिप्ट को संपादित करके इसे स्वचालित कर सकते हैं। डिफ़ॉल्ट रूप से यह '~/.virtualenvs/myproject/bin/postactivate' में पाया जाता है जहां" myproject "आपके आभासी env का नाम है। –