2012-06-08 8 views
46

के साथ वर्चुअलनेव को काम करने के लिए कैसे प्राप्त करें मैं वर्चुअलएव को मछली के खोल के साथ काम करने की कोशिश कर रहा हूं। मेरे पास virtualenv स्थापित है और यह बैश और zsh के साथ ठीक काम करता है। हालांकि, निम्न आदेश रिटर्न fish: Unknown command 'source' चल:फिश शैल

$ source ~/path/to/bin/activate 

किसी को भी कैसे virtualenv और एक साथ काम करने के लिए मछली खोल पाने के लिए पता है। अग्रिम में धन्यवाद।

+2

मैं https://github.com/adambrenecki/virtualfish उपयोग करने के लिए शुरू कर दिया है काम करता है: envrionment से

python3 -m venv ./venv set -lx PATH (realpath ./venv)/bin $PATH 

बाहर निकलें:

मेक और एक venv envrionment दर्ज मेरी परियोजनाएं –

उत्तर

81

आपको वर्चुअलएन्व का उपयोग करने के लिए सक्रिय करने की आवश्यकता नहीं है, यह एक सुविधा है। - को देख

. venv/bin/activate.fish 

यह शायद के रूप में व्यापक रूप से इस्तेमाल नहीं है के रूप में बैश तो मुद्दों हो सकता है:

virtualenv venv 
./venv/bin/pip install foo 

आप उपयोग कर मछली से प्रयास किया है: तुम बस सीधे virtualenv का उपयोग कर सकते आप उपयोग नहीं कर सकते

https://github.com/pypa/virtualenv/commits/develop/virtualenv_embedded/activate.fish

+0

धन्यवाद। मैंने 'active.fish' की कोशिश की थी, लेकिन मुझे वर्चुअलएन्व को नवीनतम संस्करण में काम करने के लिए अपडेट करना चाहिए। – drbunsen

+0

यदि आप विशिष्ट बग्स पर आते हैं तो कृपया http://github.com/pypa/virtualenv पर दर्ज करें समस्या ट्रैकर –

+1

मेरे लिए पूरी तरह से काम करता है – Lee

2

: प्रतिबद्ध इतिहास हाल एक फिक्स से पता चलता activate.fish, तुम बस अपनी PATH करने के लिए bin निर्देशिका जोड़ सकते हैं:

set -gx PATH /path/to/virtualenv/bin $PATH 

कि काफी सभी activate.fish करता है (ठीक है, काफी नहीं है, यह भी PYTHONHOME unsets, (जो पहले से सेट नहीं था जब मैं इसे किसी तरह की कोशिश की, YMMV); और यह आपके fish_prompt के साथ गड़बड़ करने का प्रयास करता है)।

वैकल्पिक रूप से: मैं एक पूर्व बैश उपयोगकर्ता के लिए जो मछली का उपयोग शुरू किया और याद करते रही है डौग हेलमैन के virtualenvwrapper, इसलिए मैंने आज ही a replacement called virtualfish पर काम करना शुरू - यह कुछ आसान शॉर्टकट आप उपयोगी लग सकते है, हालांकि यह कहीं नहीं निकट के रूप में है वीयू के रूप में पूरा करें।

16

आप भी इस का उपयोग कर सकते हैं: https://github.com/adambrenecki/virtualfish

यह आप इस लिखकर virtualenv सक्रिय करने के लिए अनुमति देता है:

vf activate <my_env> 
1

आप virtualfish उपयोग कर सकते हैं।

एक मछली शैल इयान Bicking के virtualenv के लिए आवरण, कुछ हद तक शिथिल बॉर्न-संगत गोले के लिए डौग हेलमैन के virtualenvwrapper पर आधारित है।

स्रोत: https://github.com/adambrenecki/virtualfish

डॉक्स: http://virtualfish.readthedocs.org/en/latest/

0

(यह धागा करीब लगता है को बंद करना पड़ा है, लेकिन मैं एक समाधान :)

venv के साथ एक नई मछली खोल दर्ज करने के लिए मिला envrionment:

begin; set -lx PATH (realpath ./venv)/bin $PATH; fish; end 

जब venv निर्देशिका ./venv है।

निष्क्रिय करने के लिए, बस ctrl-d या exit


एक और समाधान, जो कि बाल शैल का आह्वान नहीं करता है। बहुत अच्छी तरह से करने के लिए

set -lx PATH $PATH[2..-1]