2013-03-14 6 views
12

के साथ स्थापित नहीं करेगा, मैं स्थानीय रूप से पाइप के साथ पैकेज स्थापित करने की कोशिश कर रहा हूं। यह --user के साथ काम करता था लेकिन अब जब मैं इसे आज़माता हूं, तो यह पैकेज का संस्करण /usr/local/lib/ में पाता है और फिर इसे स्थानीय रूप से इंस्टॉल नहीं करता है। आम तौर पर यह ~/.local में चीजों को स्थापित करेगा लेकिन अब यह सिर्फ पैकेज के लिए सिस्टम-व्यापी डीआईआर की जांच करता है और यदि यह वहां है, तो यह इसे इंस्टॉल नहीं करता है (जो मैं नहीं चाहता) और यदि यह नहीं है, तो यह इसे इंस्टॉल करने का प्रयास करता है /usr/local/lib जिसमें मेरे पास लिखने की अनुमति नहीं है। उदाहरण के लिए:पीआईपी पाइथन पैकेज को स्थानीय रूप से --user

$ pip install --user rpy2 
Requirement already satisfied (use --upgrade to upgrade): rpy2 in /usr/local/lib/python2.7/dist-packages/ 

मैं pip install --user कैसे कर सकते हैं हमेशा ~/.local और नहीं एक सिस्टम-वाइड निर्देशिका के लिए जाना?

+0

अच्छी तरह से यह कहता है कि यह "आवश्यकता" संतुष्ट है और यह आपको - अपग्रेड विकल्प का उपयोग करने के लिए कहती है, क्या आपने इसका उपयोग करने का प्रयास किया है? – PurityLake

+0

@PurityLake: हाँ, यह कुछ भी नहीं बदलता – user248237dfsf

+2

"आमतौर पर प्रोग्रामर द्वारा उपयोग किए जाने वाले सॉफ़्टवेयर टूल", जैसे 'पीपी', विषय पर हैं। फिर से खोलने के लिए वोट दिया। –

उत्तर

2

पीपी दस्तावेज के अनुसार, यह वाक्यविन्यास सही है, लेकिन पाइथन 2.6 की आवश्यकता है।

उपयोगकर्ता इंस्टॉल

अजगर 2.6 के साथ स्थापना के लिए "उपयोगकर्ता योजना" है, जो सभी अजगर वितरण का समर्थन करने वाले एक वैकल्पिक स्थान है कि एक उपयोगकर्ता के लिए विशिष्ट है स्थापित मतलब है आया था। प्रत्येक ओएस के लिए डिफ़ॉल्ट स्थान साइट के लिए पायथन दस्तावेज़ में समझाया गया है। USER_BASE चर। स्थापना के इस मोड को पाइप इंस्टॉल करने के लिए -user विकल्प निर्दिष्ट करके चालू किया जा सकता है।

इसके अलावा, "उपयोगकर्ता योजना" को PYTHONUSERBASE पर्यावरण चर सेट करके अनुकूलित किया जा सकता है, जो साइट .USER_BASE के मान को अद्यतन करता है।

'/ myappenv' करने के लिए अनुकूलित site.USER_BASE साथ एक वातावरण में "SomePackage" स्थापित करने के लिए निम्न कार्य करें:

export PYTHONUSERBASE=/myappenv 
pip install --user SomePackage 



तो निम्न प्रविष्टि आप के लिए काम करना चाहिए:

export PYTHONUSERBASE=~/.local 
pip install --user rpy2 
+0

पीआईपी दस्तावेज यहां स्थित है: [पीपी कुकबुक] (http://www.pip-installer.org/en/latest/cookbook.html) – JamCon

+1

जादुई पोनी: इसके बारे में नहीं पता था, धन्यवाद। लेकिन PYTHONUSERBASE को सेट करना काम नहीं करता है - यह अभी भी '/ usr/local/lib /' – user248237dfsf

+0

'पाइप इंस्टॉल --user --force-reinstall --upgrade jinja2' को ~ ~/.local/'dir में इंस्टॉल कर सकता है। – RNA

12

Citing मार्कस स्मिथ (पिप के मेंटेनर):

01,235,

अगर आपको लगता है वैश्विक साइट पुराना हो चुका है, और उपयोगकर्ता साइट में नवीनतम चाहते हैं, तो का उपयोग करें:
pip install --upgrade --user SomePackage

वैश्विक साइट अप टू डेट है, और आप वास्तव में सिर्फ चाहते हैं एक ही बात --user में दोहराया गया, तो का उपयोग करें:
pip install --ignore-installed --user SomePackage (जो अब ठीक से काम करता # 1352 है, जिनमें से मर्ज के बाद v1.5 में जारी किया जाएगा)

मैं pip install --user कैसे बना सकता हूं हमेशा ~/.local पर जाएं और सिस्टम-व्यापी निर्देशिका नहीं?

--upgrade और --ignore-installed तर्क दोनों का उपयोग करें।

+0

से अधिष्ठापन को अलग करना चाहते हैं, पीआईपी बग का उल्लेख करने के लिए धन्यवाद। एकमात्र चीज जो मुझे याद आ रही है - --usfix को --user के साथ जोड़ना है, http://stackoverflow.com/questions/24420125/python-change-user-site-directory-or-install-setup-py-prefix देखें -साथ-उपयोगकर्ता – rudimeier

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