virtualenvwrapper और पायथन 3


119

मैंने ubuntu ल्यूसिड पर अजगर 3.3.1 स्थापित किया और नीचे के रूप में एक वर्चुअन सफलतापूर्वक बनाया

virtualenv envpy331 --python=/usr/local/bin/python3.3

इसने envpy331मेरे घर पर एक फ़ोल्डर बनाया ।

मैंने भी virtualenvwrapperस्थापित किया है। लेकिन डॉक्स में केवल 2.4-2.7संस्करण pythonसमर्थित python3हैं..क्या किसी ने वर्चुअन को व्यवस्थित करने की कोशिश की ? यदि हां, तो क्या आप मुझे बता सकते हैं कि कैसे?


1
उस के साथ समस्या यह है कि पाइप अभी भी python2 पाइप है, है ना? मुझे लगता है कि आप क्या चाहते हैं virtualenvwrapper के pyvenvबजाय का उपयोग करने के लिएvirtualenv
erikbwork

जवाबों:



240

यदि आपके पास पहले से ही python3 स्थापित है और साथ ही virtualenvwrapper केवल एक चीज है जिसे आपको python3 का उपयोग करने की आवश्यकता होगी, तो वर्चुअल वातावरण का उपयोग करके एक वातावरण बनाया जा रहा है:

which python3 #Output: /usr/bin/python3
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

या, (कम से कम OSX का उपयोग कर काढ़ा):

mkvirtualenv --python=`which python3` nameOfEnvironment

पर्यावरण का उपयोग करना शुरू करें और आप देखेंगे कि जैसे ही आप अजगर टाइप करेंगे आप python3 का उपयोग करना शुरू कर देंगे


12
2.7.8 के साथ OSX पर मेरे लिए काफी काम नहीं किया और 3.4.1 काढ़ा के माध्यम से साइड-बाय-साइड स्थापित किया। इसे "mkvirtualenv --python = 'में संशोधित करना, जो कि python3` nameOfEnvironment" ने पूरी तरह से काम किया।
क्रिस डोगेट

@ChrisDoggett उबंटू 14.10 पर।
z0r

4
उबंटू पर कमांड होगी: mkvirtualenv --python = / usr / bin / python3 your-env-name
Vasiliy Toporov

2
यदि आप बैश का उपयोग करते हैं, तो आप एक लाइन को बचाने के लिए प्रतिस्थापन कर सकते हैं -mkvirtualenv --python=$(which python3) nameOfEnvironment
d4nyll

निम्नलिखित बैश उपनाम बनाने के लिए वास्तव में बहुत अच्छा क्या है alias mkvirtualenv3="mkvirtualenv --python=$(which python3.6)"- फिर अजगर 2 या 3 के लिए
वर्चुअल्स

52

आप virtualenvwrapper के साथ चलाए जाने वाले एक virtualenvwrapper के बजाय एक कस्टम पायथन बाइनरी का उपयोग कर सकते हैं। ऐसा करने के लिए आपको VIRTUALENV_PYTHON चर का उपयोग करने की आवश्यकता है जो virtualenv द्वारा उपयोग किया जाता है:

$ export VIRTUALENV_PYTHON=/usr/bin/python3
$ mkvirtualenv -a myproject myenv
Running virtualenv with interpreter /usr/bin/python3
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
(myenv)$ python
Python 3.2.3 (default, Oct 19 2012, 19:53:16) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

2
यह प्रभावी रूप से पुराना है। एक पर्यावरण चर सेट करने के बजाय आपको जो - वर्तमान में जोनाथन द्वारा सुझाए गए - खट्टे पैरामीटर का उपयोग करना चाहिए।
एलेक्सलॉर्ड टोरसन

6
@Rawrgulmuffins क्यों? यह प्रत्येक नए env के लिए अजगर संस्करण को निर्दिष्ट करने से रोकता है।
जोस्ट

@ जोस्ट यह एक उचित बिंदु है। मैं व्यक्तिगत रूप से महसूस करता हूं कि यह नकारात्मक पक्ष है लेकिन मैं देख सकता हूं कि लोग इसे क्यों पसंद करेंगे।
एलेक्सलॉर्ड टॉर्सेन

21

virtualenvwrapper अब आपको पथ के बिना अजगर निष्पादन योग्य निर्दिष्ट करने देता है।

तो (OSX पर) कम से कम mkvirtualenv --python=python3 nameOfEnvironmentपर्याप्त होगा।


2
एक दो डैश की जरूरत है। संपादित करेगा, लेकिन SE को 6 वर्णों की आवश्यकता है और परिवर्तन को केवल एक की आवश्यकता है।
jwogrady

20

उबंटू पर; mkvirtualenv -p python3 env_namepython3 के साथ virtualenv का उपयोग करके लोड करता है।

एनवी के अंदर, python --versionसत्यापित करने के लिए उपयोग करें।


1
python --versionसंस्करण को प्रदर्शित करने के लिए
Dos

20

आप इसे अपने .bash_profile या समान में जोड़ सकते हैं:

alias mkvirtualenv3='mkvirtualenv --python=`which python3`'

जब आप एक अजगर 3 वातावरण बनाना चाहते हैं तो mkvirtualenv3इसके बजाय का उपयोग करें mkvirtualenv


13

मुझे लगता है कि चल रहा है

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

तथा

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4

pbthon3 और virtualenv-3.4 का उपयोग करने के लिए Ubuntu बल mkvirtualenv पर कमांड लाइन में। एक अभी भी करना है

mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

पर्यावरण बनाने के लिए। यह मानकर चल रहा है कि आपके पास python3 / usr / bin / python3 और virtualenv-3.4 in /usr/local/bin/virtualenv-3.4 है।


बस का उपयोग करें which python2.4या which python3.5या which python3.6के लिए निर्देशिका को खोजने में--python=DIRECTORY
संतोष

5

इस पद के bitbucket समस्या ट्रैकर पर virtualenvwrapper ब्याज की हो सकती है। यह उल्लेख किया गया है कि अधिकांश virtualenvwrapper के कार्य पायथन 3.3 में वेव वर्चुअल वातावरण के साथ काम करते हैं ।


0

मैंने export VIRTUALENV_PYTHON=/usr/bin/python3अपने ~/.bashrcको इस तरह जोड़ा :

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENV_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

फिर भागो source .bashrc

और आप प्रत्येक नए env के लिए अजगर संस्करण निर्दिष्ट कर सकते हैं mkvirtualenv --python=python2 env_name

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.