python - Virtualenv के साथ विभिन्न पायथन संस्करण का प्रयोग करें




virtualenvwrapper (12)

मेरे पास वर्तमान में पाइथन 2.5.4 के साथ चल रहा एक डेबियन सिस्टम है। मुझे वर्चुअलनेव ठीक तरह से स्थापित किया गया है, सब कुछ ठीक काम कर रहा है। क्या कोई संभावना है कि मैं पाइथन के एक अलग संस्करण के साथ वर्चुअलएन्व का उपयोग कर सकता हूं?

मैंने पायथन 2.6.2 संकलित किया और कुछ वर्चुअलएन्व के साथ इसका उपयोग करना चाहूंगा। क्या बाइनरी फ़ाइल को ओवरराइट करना पर्याप्त है? या क्या मुझे पुस्तकालयों के संबंध में कुछ बदलना है?


लिनक्स के लिए विंडोज सबसिस्टम में:

  1. Python3 के लिए वातावरण बनाएँ:

    virtualenv --python=/usr/bin/python3 env
    
  2. इसे सक्रिय करें:

    source env/bin/activate
    

आप virtualenv को अपने इच्छित पायथन संस्करण के साथ कॉल कर सकते हैं। उदाहरण के लिए:

python3 -m virtualenv venv

या वैकल्पिक रूप से सीधे अपने वर्चुअलएनवी पथ को इंगित करें। उदाहरण के लिए खिड़कियों के लिए:

c:\Python34\Scripts\virtualenv.exe venv

और चलकर:

venv/bin/python

Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

आप वर्चुअल वातावरण में स्थापित पायथन संस्करण देख सकते हैं


एक आसान तरीका है,

virtualenv venv --python=python2.7

एक टिप्पणी के लिए धन्यवाद, यह केवल तभी काम करता है जब आपके पास सिस्टम स्तर पर स्थापित python2.7 है (उदाहरण के लिए /usr/bin/python2.7)।

अन्यथा, यदि आप होमब्री का उपयोग कर रहे हैं तो आप जो भी चाहते हैं उसे देने के लिए पथ का उपयोग कर सकते हैं।

virtualenv venv --python=/usr/local/bin/python

आप अपने अजगर स्थापना के साथ पथ पा सकते हैं

which python

यह अजगर 3 के साथ भी काम करेगा।

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

अंत में घनत्व:

virtualenv venv -p `which python`
virtualenv venv -p `which python3`

खिड़कियों पर:

py -3.4x32 -m venv venv34

या

py -2.6.2 -m venv venv26

यह py लॉन्चर का उपयोग करता है जो आपके लिए सही पायथन निष्पादन योग्य पाएगा (माना जाता है कि आपने इसे इंस्टॉल किया है)।


मेरे लिए विंडोज के तहत यह काम करता है:

virtualenv --python=c:\Python25\python.exe envname

python.exe बिना मुझे WindowsError: [Error 5] Access is denied मिला WindowsError: [Error 5] Access is denied मेरे पास Python2.7.1 वर्चुअलएन्व 1.6.1 के साथ स्थापित है, और मैं पाइथन 2.5.2 चाहता था।


मैक (हाई सिएरा) के लिए, python3 में वर्चुअलएन्व स्थापित करें और python2 के लिए वर्चुअलएन्व बनाएं:

$ python3 -m virtualenv --python=python2 vp27
$ source vp27/bin/activate
(vp27)$ python --version
Python 2.7.14

मैक पर मैं pyenv और virtualenvwrapper का उपयोग करें। मुझे एक नया वर्चुअल लेना पड़ा। आपको होमब्री की ज़रूरत है जो मुझे लगता है कि यदि आप मैक पर हैं, तो बस इंस्टॉल किया है, लेकिन बस मज़े के लिए:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python  {virtual_env_name}

मैंने पहले अपनी आवश्यकताओं को भी ठंडा कर दिया ताकि मैं बस नए वर्चुअलएनवी में पुनः स्थापित कर सकूं:

pip install -r requirements.txt

ये चरण हैं जब आप साझा होस्टिंग वातावरण पर हैं और उन्हें पाइथन को स्रोत से स्थापित और अनुपालन करने की आवश्यकता है और फिर अपने पायथन संस्करण से venv बनाएं। पायथन 2.7.9 के लिए आप इन पंक्तियों के साथ कुछ करेंगे:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

आभासी env

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate   

स्वाभाविक रूप से यह किसी भी परिस्थिति पर लागू हो सकता है जहां आप उस सटीक वातावरण को दोहराना चाहते हैं जो आप काम करते हैं और तैनात करते हैं।


अद्यतन: Python3.6 के लिए, नीचे pyvenv स्क्रिप्ट को बहिष्कृत किया गया है। इसके बजाए, venv निम्न आदेश के साथ वर्चुअल वातावरण बनाने का venv :

python3 -m venv <myenvname>

Python3 (3.3+) के लिए, उपर्युक्त विधि या venv pyvenv कमांड का उपयोग करें।

pyvenv /path/to/new/virtual/environment

कृपया ध्यान दें कि venv Python के अन्य संस्करणों के साथ venv बनाने की अनुमति नहीं देता है। इसके लिए, virtualenv package स्थापित करें और उपयोग करें।


यह मेरे लिए काम किया

sudo apt-get install python3-minimal

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

पाइथन निष्पादन योग्य को निर्दिष्ट करने के लिए अपने वर्चुअलएएनए उदाहरण को बनाते समय बस --python (या short -p ) विकल्प का उपयोग करें, उदाहरण के लिए:

virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

एनबी पाइथन 3.3 या उसके बाद, नीचे एल्फिन के answer का संदर्भ लें। [संपादक का ध्यान दें: मुझे पता है कि यह सामान्य रूप से एक टिप्पणी होनी चाहिए, एक संपादन नहीं, लेकिन एक नई टिप्पणी छिपी जाएगी, और मैंने 45 मिनट उलझन में त्रुटियों को बिताया क्योंकि इस महत्वपूर्ण उत्तर को तीन या चार तोता उत्तरों के नीचे दफनाया गया था। मैं बस हर समय यहां सहेजने की कोशिश कर रहा हूं।]


virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>




virtualenvwrapper