2010-01-31 13 views
70

मेरे पास पाइथन 2.5 के लिए वर्चुअलनव बनाया गया है और इसे "अपग्रेड" करना चाहते हैं जो Python 2.6 पर है। ,मौजूदा वर्चुअलनव को शानदार तरीके से अपग्रेड किया जा सकता है?

virtualenv --no-site-packages -p python2.6 myenv 
... 
Not overwriting existing python script myenv/bin/python (you must use myenv/bin/python2.6) 
... 
Overwriting myenv/bin/activate with new content 

डिफ़ॉल्ट अजगर अभी भी 2.5 है, भले ही मैं यह भी कर सकते हैं:

virtualenv --no-site-packages -p python2.5 myenv 

मैं अब उन्नत करने के लिए एक ही निर्देशिका में virtualenv चलाएँ:

यहाँ कैसे यह मूल रूप से स्थापित किया गया था है 2.6 निर्दिष्ट करें। पर कोई रास्ता नहीं है 2.5 पूरी तरह से हटाएं और इसके बजाय 'bin/python' बिंदु 2.6 पर है?

उत्तर

47

आप पाइथन 2.6 वर्चुअलएवी का उपयोग मौजूदा निर्देशिका में "पुनरावृत्ति" करने के लिए कर सकते हैं। आपको इंस्टॉल किए गए सभी मॉड्यूल को पुनर्स्थापित करना होगा। मेरे पास एक मॉड्यूल विकसित करने के लिए वर्चुअल निर्देशिका होती है, और वर्चुअलनव एक ही निर्देशिका है जो पाइथन के कई संस्करणों के साथ होती है, और यह ठीक काम करती है। :)

+1

धन्यवाद! मैंने आपकी विधि की कोशिश की और देखा कि 'सक्रिय' स्क्रिप्ट अपडेट की गई है, लेकिन पुराना संस्करण बना हुआ है (कृपया संशोधित प्रश्न देखें)। क्या आप एक उदाहरण प्रदान करने में सक्षम हैं? –

+10

आप python 2.6 के साथ वर्चुअलएन्व को फिर से चलाने से पहले वर्चुअलनव में निष्पादन योग्य बिन/पायथन को हटा सकते हैं। –

+0

बिल्कुल सही! धन्यवाद! –

4

आप एक नया virtualenvpython2.6 का उपयोग कर और फिर, नए env सक्रिय करने के बाद, किसी भी साइट संकुल आप की जरूरत के अपने नए संस्करण python2.6 और उसके easy_install स्थापित करने के लिए उपयोग करते हैं बनाना चाहिए। सावधान रहें कि virtualenv पर पथ का नाम पर्यावरण के भीतर विभिन्न फ़ाइलों में हार्डवार्ड किया गया है, इसलिए, जब आप इसे स्विच करने के लिए तैयार हों, तो या तो अपनी स्टार्टअप स्क्रिप्ट्स एट अल को नए virualenv पथ को संदर्भित करने के लिए बदलें या इसे कॉपी करने के बारे में बहुत सावधान रहें पुरानी निर्देशिका में और इसके अंदर पथ नामों को संशोधित करना।

2

CentOS

पर एक दूसरे अजगर स्थापित
  1. डाउनलोड अजगर
  2. स्थापित स्थानीय diff को

    configure --prefix=/opt/virtualenv/python 
    make && make install 
    
  3. आभासी env बनाने नया अजगर

    virtualenv /opt/virtualenv --python=/opt/python276/bin/python 
    

    टिप्पणी का उपयोग कर : यदि आवश्यक हो तो यह डॉन हो सकता है किसी दूसरे उपयोगकर्ता के साथ ई

    chown pyuser -R /opt/virtualenv 
    su - pyuser 
    source /opt/virtualenv/bin/activate 
    python -v 
    
  4. आभासी env बनाएँ:

    virtualenv /opt/virtualenv 
    su - infograficos 
    source bin/activate 
    
  5. आप ओएस उपयोग कर रहे हैं अजगर 2.7 (virtualenv के अंदर)

    easy_install pip 
    
0

साथ पिप स्थापित करें एक्स, this आज़माएं यदि आप पाइथन को नाबालिग-वर्धित संस्करण में अपग्रेड करना चाहते हैं (उदाहरण के लिए 2.7.6 से 2.7.8) जबकि तीसरे पक्ष के पुस्तकालयों को काम करते हुए।

यह Django स्थापित के साथ 5 अलग-अलग आभासी वातावरण पर मेरे लिए काम करता है।

संबंधित मुद्दे