अजगर - मैन्युअल रूप से virtualenv का उपयोग करके पैकेज स्थापित करें


84

मेरे पास एक पायथन कार्यक्रम है जिसे मैं अपने virtualenv में स्थापित करना चाहता हूं - यह एक ज़िप पैकेज है जिसे मुझे अनज़िप करने की आवश्यकता है और फिर एक सेटअप-थ्रेड प्रोग्राम चलाएं - लेकिन मेरा प्रश्न अधिक है कि इन अनज़ैप्ड फ़ाइलों को अपने वर्चुअन में कैसे प्राप्त करें ताकि पैकेज virtualenv की साइट-संकुल फ़ोल्डर में स्थापित हो जाता है?

मैं अपने virtualenv का उपयोग करके अंदर से भी स्थापित कर सकता हूं pip install <package name>, लेकिन किसी कारण से, जो पैकेज पीआईपी डाउनलोड करता है वह पुराना है।

तो - क्या कोई मुझे मैन्युअल रूप से पैकेज स्थापित करने के लिए कुछ आसान कदम बता सकता है?

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

-bash-3.2$ source ~/.bashrc
-bash-3.2$ workon test
(test)-bash-3.2$ //Now I'm working on my virtualenv, but where do I go after this??

तो - क्या यह मायने रखता है कि मैं अजगर पैकेज / प्रोग्राम को कहां खोल देता हूं - या अनजिप करने से पहले मुझे पहले virtualenv में लॉग इन करना चाहिए? जब मैं virtualenv को लोड करता हूं और मैं इसे 'वर्कऑन टेस्ट' कमांड के साथ उपयोग कर रहा हूं, तो क्या कोई भी अजगर पैकेज जिसे मैं स्थापित करता हूं, चाहे मुझे जो भी निर्देशिका मिले, वह खुद को उचित virtualenv की साइट-पैकेज फ़ोल्डर में स्थापित कर ले?

विकल्प 1 में अजगर प्रोग्राम को / होम / यूजरनेम / tmp में अनज़िप करने के लिए है - फिर मेरे virtualenv पर लॉग इन करें, उस फ़ोल्डर में नेविगेट करें और setup.py प्रोग्राम को चलाएं - यह मानते हुए कि virtualenv सभी संबंधित फ़ाइलों को स्वयं साइट-संकुल फ़ोल्डर में स्थानांतरित कर देगा। ।

या परिदृश्य 2 फ़ाइलों को सीधे साइट-संकुल में खोलना है, और इसे वहां से चलाने के बाद (वर्चुअली में लॉग इन करने के बाद), आदि।

इस के साथ एक अजगर क्लॉटज़ की मदद करने के लिए धन्यवाद!

जवाबों:


123

मैं आम तौर पर प्रोग्राम को एक अस्थायी फ़ोल्डर में निकालता हूं, फिर उस फ़ोल्डर से, virtualnv python उदाहरण के लिए सीधे पथ का उपयोग करके setup.py चलाएँ। उदाहरण के लिए, यदि आपका virtualenv / home / यूजरनेम / virtualpy है, तो इसका उपयोग करें (अपने अस्थायी फ़ोल्डर से)

/home/username/virtualpy/bin/python setup.py install

इसे अपने virtualenv साइट पैकेज फ़ोल्डर में स्थापित करना चाहिए।


2
इसलिए वास्तव में आयात ऑपरेशन को वर्चुअन में स्थापित अजगर (2.6) के संस्करण का उपयोग करके अजगर चलाना है ... अच्छा! धन्यवाद ड्वेल्च।
जैमिसन

सुनिश्चित करें कि आप इसे अस्थायी फ़ोल्डर से चलाते हैं; setup.py संभावना यह मौजूदा फ़ोल्डर होने की उम्मीद है।
सेठ

यह अब किसी भी आवश्यक नहीं लगता है। एक बार वर्चुअल एनवी सक्रिय होने के बाद, मैं बस चलाता हूं python setup.py installया python setup.py developयह सही जगह पर स्थापित होता है।
ओलिवर

13

अच्छी तरह से जब आप आभासी वातावरण में स्विच करते हैं। आपको टाइप करना चाहिए

which python

और यदि यह वह मार्ग लौटाता है जहाँ आपका आभासी वातावरण मौजूद है, तो ठीक है आप सीधे इस कमांड को चला सकते हैं।

$ python setup.py build
$ python setup.py install

लेकिन अगर यह वैश्विक स्तर का रास्ता देता है जो आपका virtualenv'sरास्ता नहीं है तो आपको इसका उपयोग करने का प्रयास करना चाहिए

$ ~/.virtualenv/python-env/bin/python setup.py build
$ ~/.virtualenv/python-env/bin/python setup.py install

0

यदि कोई पैकेज रिपॉजिटरी से स्थापित नहीं होगा, तो sudo द्वारा उपयोग के माध्यम से कोशिश करें। उदाहरण के लिए अजगर पैथोस पैकेज;

/venv3.6/bin$ sudo pip3 install pathos

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