2012-02-19 15 views
26

मेरे पास easy_install और pip है।sudo का उपयोग किए बिना virtualenv कैसे स्थापित करें?

मुझे लिनक्स मिंट 12 पर कई त्रुटियां थीं, मैंने बस इसे पुनः स्थापित किया है और मैं सब कुछ फिर से स्क्रैच से इंस्टॉल करना चाहता हूं।

This मेरी त्रुटियों में से एक है। sudo का उपयोग किए बिना

Stop using su and sudo to run virtualenv.
You need to run virtualenv as your normal user.
You have created the virtualenv with sudo which is why you are getting these errors.

तो कैसे स्थापित करने के लिए virtualenv: मैं वहाँ एक दिलचस्प जवाब मिला? क्या मैं sudo का उपयोग किये बिना pip या easy_install का उपयोग कर सकता हूं? क्या कोई और तरीका है?

+2

ध्यान दें कि जब यह कहते हैं 'su' और' sudo', क्या यह वास्तव में इसका मतलब है root' के रूप में 'है। आप 'virtualenv' को रूट के रूप में चला रहे हैं, और' virtualenv' रूट के रूप में चलाने के लिए नहीं चाहता है। विशेषाधिकार छोड़ें और पुनः प्रयास करें। –

+0

'virtualenv' को रूट के रूप में स्थापित करने के बीच एक बड़ा अंतर है, छंद * चल रहा है * इसे रूट के रूप में। आपके द्वारा डाला गया उद्धरण 'वर्चुअलएनवी' स्थापित करने के बारे में बात नहीं कर रहा है, लेकिन इसे पायथन परियोजना के लिए वर्चुअल वातावरण स्थापित करने के लिए उपयोग कर रहा है। – jpaugh

उत्तर

25

यह समाधान उन मामलों में उपयुक्त है जहां virtualenv सिस्टम विस्तृत है और आप virtualenv इंस्टॉल करने के लिए रूट नहीं बन सकते हैं। जब मैंने अजगर विकास या तैनाती के लिए एक डेबियन स्थापित किया तो मैं हमेशा apt-get install python-virtualenv। नीचे बूटस्ट्रैप को इंगित करने के बजाय इसे चारों ओर रखना अधिक सुविधाजनक है। लेकिन रूट पावर के बिना यह जाने का तरीका हो सकता है:

एक बूटस्ट्रैप तंत्र है जो आपको जाना चाहिए।

पढ़ें: http://peak.telecommunity.com/DevCenter/EasyInstall#creating-a-virtual-python

संक्षेप में आप एक यूनिक्स वातावरण में अपने घर निर्देशिका में इस करना होगा:

अपने अजगर को देखते हुए है संस्करण 2,6

 

    $ mkdir ~/bin 
    $ mkdir -p ~/lib/python2.6 
    $ mkdir -p ~/local/lib/python2.6/dist-packages 
    $ wget http://peak.telecommunity.com/dist/virtual-python.py 
    $ python virtual-python.py --no-site-packages 
    $ wget http://peak.telecommunity.com/dist/ez_setup.py 
    $ ~/bin/python ez_setup.py 
    $ ~/local/bin/easy_install virtualenv 
    $ ~/local/bin/virtualenv --no-site-packages thereyouare 

अनुकूलन के लिए जगह नहीं हो सकता है। मुझे local पथ पसंद नहीं है। बस bin और lib अच्छा होगा। लेकिन यह अपनी नौकरी करता है।

curl -L -o virtualenv.py https://raw.githubusercontent.com/pypa/virtualenv/master/virtualenv.py 
python virtualenv.py vvv-venv 
. vvv-venv/bin/activate 
pip install vvv 

यह अच्छी तरह से काम करने के लिए लगता है:

+0

आपके समाधान के लिए बहुत बहुत धन्यवाद! 'पायथन वर्चुअल-python.py --no-site-packages --prefix = \' pwd \ '' का उपयोग करके, हम निर्देशिका प्रदूषण को रोकने के लिए, होम फ़ोल्डर के अलावा फ़ोल्डर में 'वर्चुअल-पायथन' स्थापित कर सकते हैं। -12 स्विच के साथ –

+2

आपको केवल तीसरी पंक्ति की आवश्यकता है ... रिकर्सिव निर्देशिका निर्माण बस होता है। – RobotHumans

+14

शायद यह वर्चुअलएन्व के पुराने संस्करणों के लिए मान्य था। अभी के लिए, यदि आप किसी मशीन पर वर्चुअलएन्व को चलाने के लिए चाहते हैं तो आप रूट नहीं हैं: इन्हें डाउनलोड करें और अनार करें: 'https: // github.com/pypa/virtualenv/रिलीज़', फिर बस 'python virtualenv.py' चलाएं/path/to/new/virtualenv/to/create' – Claude

14

सामान्य विचार virtualenv खुद को स्थापित करने के लिए globaly है, यानी sudo easy_install virtualenv या sudo pip install virtualenv, लेकिन फिर वास्तविक आभासी वातावरण बनाने के ("चलाने virtualenv") स्थानीय स्तर पर।

+3

//, सवाल यह है कि, कैसे, कैसे। वर्चुअलनव पैकेजों में से कई, विशेष रूप से सीईएनटीओएस 6 के लिए, एक बार स्थापित होने के बाद सूडो की आवश्यकता होती है। –

8

http://opensourcehacker.com/2012/09/16/recommended-way-for-sudo-free-installation-of-python-software-with-virtualenv/ निम्नलिखित पता चलता है। यह मुझे https://github.com/miohtama/vvvpip के साथ स्थापित करने देता है।

तो आपको मिलेगा:

Cannot find sdist setuptools-*.tar.gz 
Cannot find sdist pip-*.tar.gz 

https://github.com/pypa/virtualenv/tree/develop/virtualenv_support

2

पर tarballs डाउनलोड करने के बाद --extra-search-dir प्रयास करें मेरे द्वारा बनाए गए एक "पोर्टेबल" version of virtualenv

wget https://bitbucket.org/techtonik/locally/raw/tip/06.get-virtualenv.py 
python 06.get-virtualenv.py 

यह .locally subdir में निर्भरता के साथ virtualenv.py स्क्रिप्ट डाउनलोड करता है और उसे वहाँ से निष्पादित करता है। एक बार ऐसा करने के बाद, .locally/subdir के साथ स्क्रिप्ट कहीं भी कॉपी की जा सकती है।

+0

अपने समाधान का उपयोग करके मुझे यह त्रुटि मिलती है: '/files/spegni/.locally/virtualenv.py ट्रेसबैक (सबसे हालिया कॉल अंतिम) के लिए हैश/आकार की जांच: फ़ाइल "06.get-virtualenv।py ", लाइन 163, getsecure में (लूट, filespec) फ़ाइल" 06.get-virtualenv.py ", लाइन 132, getsecure जाँच में (filepath, प्रविष्टि [ 'hashsize'], शांत) फ़ाइल" 06 .get-virtualenv.py ", लाइन 113, चेक % (फ़ाइलपैथ, आकार, हैशसाइज (फ़ाइलपैथ)) __main __। हैशसाइज चेकफेल: /files/spegni/.locally/virtualenv.py एक्सप के लिए हैश/साइज मिस्चैच: a506a836ef76301bc19e5a209984a4286529a79b 98,477 कार्य:।। d205cbd6783332a212c5ae92d73c77178c2d2f28 9' – FSp

+0

@FSp, Pypa टीम 1.11.x संस्करण के लिए शाखा फिक्स्ड मार डाला अब प्रयास करें –

+1

virtualenv के लिए 12.0.7 –

6

आप नीचे दिए गए आदेश का भी उपयोग कर सकते हैं, यह sudo पहुंच के बिना मेरे लिए काम करता है। आपको export, see this SO answer for more details का उपयोग करके अपने PYTHONPATH पर्यावरण चर को संशोधित करने की आवश्यकता हो सकती है।

pip install --user virtualenv

3

This मेरे लिए काम किया:

pip install --target=$HOME/virtualenv/ virtualenv 
cd somewhere/ 
python $HOME/virtualenv/virtualenv.py env 
. env/bin/activate 

अब मैं pip install मैं चाहता हूँ जो कुछ भी कर सकते हैं (सब कुछ जीसीसी के साथ सामान संकलित करने के लिए की जरूरत है और इस तरह के अजगर विकास पुस्तकालयों के रूप में और निर्भरता याद आ रही है कि के अलावा Python.h)।

1

आप Anaconda का उपयोग करने पर विचार करना चाहेंगे। यह एक पूर्ण पाइथन वितरण है, जो कि एक फ़ोल्डर में रहता है उदा। आपकी होम निर्देशिका किसी भी बिंदु पर sudo आवश्यक है और आपको सबसे लोकप्रिय पैकेज मिलते हैं।

$ wget https://.../Anaconda2-2.5.0-Linux-x86_64.sh # check the website for the exact URL, it can change 
$ bash Anaconda2-2.5.0-Linux-x86_64.sh 
$ conda install virtualenv 
2

मूल रूप से विचार ${HOME}/.local में virtualenv (या किसी अन्य अजगर पैकेज) स्थापित करने के लिए है। यह सबसे उपयुक्त स्थान है क्योंकि इसे डिफ़ॉल्ट रूप से पायथन पथ में शामिल किया गया है (और न केवल पायथन)।

जो आप pip3 install virtualenv --prefix=${HOME}/.local द्वारा करते हैं (आपको ${HOME} का विस्तार करने की आवश्यकता हो सकती है)। सुनिश्चित करें कि आप में export PATH=${HOME}/.local/bin:${PATH} है कि आपके ~/.profile (यदि हाल ही में जोड़े आप source ~/.profile इसे करने के लिए आवश्यकता हो सकती है)

0

सबसे आसान तरीका है मैं अब तक देखा है एनाकोंडा स्थापित करने के लिए है। यह आपके लिए एक ओवरकिल हो सकता है। मेरे लिए रिमोट सर्वर पर चल रहे सेंटोस केवल python2.6 स्थापित था। डिफ़ॉल्ट रूप से एनाकोंडा सब कुछ स्थापित करता है स्थानीय स्तर पर + यह python2.7

curl -O https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh 

फिर

bash Anaconda2-4.2.0-Linux-x86_64.sh 

बूम है। आपके पास सभी पैकेज जैसे numpy और pip स्थापित हैं। तो अगर आप virtualenv चाहते हैं, बस टाइप

pip install virtualenv 
+0

इस ओपी के सवाल का जवाब नहीं है अपडेट किया गया वह पहले से ही पिप है और चाहता है।। बिना काम किए वर्चुअलएन्व स्थापित करने के लिए ओ। – MYGz

+0

@ गाजी सवाल यह कहता है: "मैं सबकुछ फिर से खरोंच से स्थापित करना चाहता हूं"। फिर भी अगर यह ओपी के प्रश्न का उत्तर नहीं देता है, तो किसी और को यह उपयोगी लगेगा। –

+0

और "सबकुछ" क्या परिभाषित किया गया है? Anaconda सब कुछ तुम्हारे अनुसार है? – MYGz

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