अजगर पैकेज का उपयोगकर्ता-स्थानीय इंस्टॉल करने का सबसे सरल तरीका क्या है?


32

मैं लोकल पायथन इंस्टॉलेशन के लिए वर्चुअनव के साथ सौदा नहीं करना चाहता , मैं सिर्फ PYTHONPATHपर्यावरण चर से निपटने के बिना स्थानीय रूप से कुछ पैकेज स्थापित करना चाहता हूं, मैं यह कैसे करूं?


आप कहते हैं "सौदा" के रूप में अगर virtualenv एक परेशानी थी। मैंने सही विपरीत पाया है। (शायद आप चाहते हैं --system-site-packages?)
एंड्रियास क्लोकेर

यह काल्पनिक रूप से सामने आया :) virtualenv भयानक है, लेकिन यह हर उपयोग के मामले में फिट नहीं है।
एरन अहमदिया

जवाबों:


48

पायथन ( 2.6 और 3.0 के रूप में ) अब स्थानीय इंस्टॉल के लिए ~ / .Local निर्देशिका में खोज करता है, जिसे स्थापित करने के लिए प्रशासनिक विशेषाधिकारों की आवश्यकता नहीं होती है, इसलिए आपको बस उस निर्देशिका में अपने इंस्टॉलर को इंगित करना होगा।

यदि आपने पहले ही पैकेज डाउनलोड कर लिया है fooऔर इसे मैन्युअल रूप से इंस्टॉल करना चाहते हैं, तो टाइप करें:

cd path/to/foo
python setup.py install --user

यदि आप easy_install का उपयोग कर रहे हैं और पैकेज डाउनलोड और स्थापित करना चाहते हैं:

easy_install --prefix=$HOME/.local/ foo

रफी द्वारा अद्यतन

pip install --user foo

ऐतिहासिक उद्देश्यों के लिए निम्नलिखित उत्तर दिया गया है: यदि आप पाइप को डाउनलोड और इंस्टॉल करने के लिए उपयोग कर रहे हैं तो यह थोड़ा और काम है:

pip install --install-option="--prefix=$HOME/.local" foo

3
अद्यतन: पाइप अब एक -युसर ध्वज का समर्थन करता है: pip install --user SomePackage (मैनुअल से लिंक) इसका उपयोग करते हुए, सब कुछ अलग-अलग ओएस पर भी बॉक्स से बाहर काम करना चाहिए
रफ़ी

5

भले ही मैं पायथन को एक भाषा के रूप में पसंद करता हूं, पाइथन पैकेज वितरित करना एक गड़बड़ है। मुझे हमेशा लगता है कि लोग पायथन से परिचित नहीं हैं।

एरन द्वारा उल्लिखित उपयोगकर्ता-स्थानीय संस्थापन के आगे (उपयोगकर्ता, या - उपसर्ग), एक और विकल्प है EasyBuild ( http://hpcugent.github.com/easybuild/ )। न केवल पायथन पैकेज के लिए, बल्कि किसी भी (वैज्ञानिक) सॉफ्टवेयर पैकेज के लिए। एक बार EasyBuild के पास इसके लिए समर्थन है, एक सॉफ्टवेयर पैकेज का निर्माण और स्थापित करना मूल रूप से एक ही आदेश है।

वर्तमान में समर्थित सॉफ़्टवेयर पैकेजों की सूची के लिए, https://github.com/hpcugent/easybuild/wiki/List-of-supported-software-packages देखें

अस्वीकरण: मैं EasyBuild का एक डेवलपर हूं।


2

@ एरन: पर्यावरण चर-पथ पथ को पर्यावरण चर $ PYTHONPATH में जोड़ना सुनिश्चित करें


यह स्वचालित रूप से पायथन 2.6 और पायथन 3.0 के रूप में साइट पथ में शामिल है :)
एरन अहमदिया

यदि आप --prefixविकल्प का उपयोग नहीं करते हैं तो @AronAhmadia
जेन्स टिमरमैन

@JensTimmerman - साइट पथ वह है जहां पायथन दिखता है जब यह आयात करने के लिए मॉड्यूल के लिए शुरू होता है, किसी भी समय आप पायथन चला रहे हैं। उपसर्ग विकल्प निर्दिष्ट करता है कि आप पायथन पैकेज स्थापित करते समय दिए गए पैकेज को कहां स्थापित करें। दो पूरी तरह से अलग धारणा।
एरन अहमदिया

@AronAhmadia हाँ, मेरा कहना है कि जब आप easy_install --prefix = / tmp का उपयोग करते हैं, तो आपको अपने PYTHHPATH चर में "/tmp/lib/pythonx.x/site-packages" जोड़ने की जरूरत है या यह अजगर द्वारा नहीं उठाया जाएगा।
जेन्स टिम्मरमैन

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