पाइप / easy_install के बिना मैन्युअल रूप से एक pypi मॉड्यूल कैसे स्थापित करें?


91

मैं C / C ++ सॉफ़्टवेयर के लिए टोस्टर जैसी सूचनाएँ प्रदर्शित करने के लिए gntp मॉड्यूल का उपयोग करना चाहता हूं । मैं सॉफ्ट के लिए सभी निर्भरता को दूसरे कंप्यूटर पर आत्म-निष्पादन योग्य बनाना चाहता हूं।

Gntp मॉड्यूल केवल पाइप इंस्टॉलर के माध्यम से उपलब्ध है, जिसका उपयोग नहीं किया जा सकता है (जो कंप्यूटर सॉफ्ट चल रहा है उसका कोई इंटरनेट कनेक्शन नहीं है): मैं इसे स्रोतों से कैसे स्थापित कर सकता हूं?

मैं आसान_पाइप / पाइप को स्थापित करने के लिए उपयोगकर्ता को मजबूर नहीं करना पसंद करूंगा और मैन्युअल रूप से पाइप पथ को% PATH में जोड़ दूंगा।

पुनश्च: मैं एक विंडोज मशीन पर पायथन 2.7 का उपयोग कर रहा हूं।


4
शायद साथ python setup.py install?
निकोलस

जवाबों:


149
  1. पैकेज डाउनलोड करें
  2. ज़िप किया गया है तो इसे अनज़िप करें
  3. setup.py निर्देशिका में सीडी
  4. यदि यहाँ कोई दस्तावेज़ संस्थापन में निहित हैं, तो अन्य निर्देशों को पढ़ें और उनका पालन करें
  5. में टाइप करें python setup.py install

चरण 5 के लिए आपको व्यवस्थापक विशेषाधिकारों की आवश्यकता हो सकती है। आप यहां क्या करते हैं, यह आपके ऑपरेटिंग सिस्टम पर निर्भर करता है। उदाहरण के लिए उबंटू में आप कहेंगेsudo python setup.py install

EDIT - kwatford का धन्यवाद (पहली टिप्पणी देखें)

ऊपर चरण 5 के दौरान व्यवस्थापक विशेषाधिकारों की आवश्यकता को दरकिनार करने के लिए आप --user ध्वज का उपयोग करने में सक्षम हो सकते हैं। इस तरह आप केवल वर्तमान उपयोगकर्ता के लिए पैकेज स्थापित कर सकते हैं।

डॉक्स कहते हैं:

फ़ाइलें साइट के उपनिर्देशिकाओं में स्थापित की जाएंगी। USER_BASE (इसके बाद यूजरबेस के रूप में लिखा गया है)। यह योजना शुद्ध पायथन मॉड्यूल और विस्तार मॉड्यूल को एक ही स्थान पर स्थापित करती है (साइट के रूप में भी जाना जाता है। USER_SITE)। यहाँ मैक OS X सहित UNIX के लिए मान दिए गए हैं:

अधिक विवरण यहां देखे जा सकते हैं: http://docs.python.org/2.7/install/index.html


8
पाइप / easy_install / setup.py आमतौर पर --userकेवल वर्तमान उपयोगकर्ता के लिए पैकेज को स्थापित करने के लिए एक ध्वज स्वीकार करते हैं , आमतौर पर व्यवस्थापक पहुंच की आवश्यकता को दरकिनार करते हैं।
kwatford

3
किसी कारण से मैं इसे देखता हूं: ImportError: No module named 'setuptools'मैंने पाया कि यहां: pypi.python.org/pypi/setuptools/1.1.6 हालांकि इंस्टॉल ने मुझे अपवाद त्रुटियां दीं, अब वेबसोकेट मॉड्यूल बिल्कुल काम नहीं करता है, मुझे लगता है कि मैं दे दूंगा इस बिंदु पर विंडोज पर पायथन 3.3 पर।
एसएसएच यह

2
@ प्रेस: ​​मेरे पास एक पैकेज के समान परिणाम हैं जिनकी स्थापना मैं काम करने की कोशिश कर रहा हूं। वर्बोसिटी को चालू करने से "क्योंकि यह वितरण स्थापित किया गया था - मल्ति-संस्करण [...]" जो कि दोनों झूठे हैं (यहाँ स्थापित अजगर का केवल एक संस्करण) और अनहेल्फ़ (प्रलेखित "अजगर -m Easy_install [...] का उपयोग करके) "कोई मदद नहीं कर रहा है), मैं तुम्हारे साथ हूँ - अजगर अनुपयोगी है।
एरिक टॉवर्स

1
मुझे लगता है कि pip install target-packageआमतौर पर अन्य पैकेजों को स्वचालित रूप से इंस्टॉल / अपडेट किया जाता है, जिस पर लक्ष्य-पैकेज निर्भर करता है। क्या सेटअप सेटअप एप्रोच के मामले में ऐसा होता है? या पैकेज की जिप में सभी निर्भरताएं भी हैं? और क्या आपका मतलब है कि हमें ज़िप के बजाय अजगर के पहियों को डाउनलोड करना चाहिए? इन जैसे सुन्न के लिए? यदि नहीं, तो ज़िप कहाँ ढूंढें (उदाहरण के लिए सुन्न के लिए)? (यह सब पूछ रहा हूं क्योंकि मुझे कॉर्पोरेट प्रॉक्सी के पीछे काम करने के लिए मजबूर किया जाता है जहां मुझे हर डाउनलोड के लिए संघर्ष करना पड़ता है: '()
Mahesha999

3
आप वास्तव में ऑफ़लाइन होने पर पैकेज डाउनलोड नहीं कर सकते हैं ... यदि आप अपने मूर्खतापूर्ण कार्य नेटवर्क के बाहर उन्हें डाउनलोड करना चाहते हैं तो मैं संभवतः निम्नलिखित कार्य करूंगा: 1. एक virtualenv करें। 2. python setup.py installया pip installसभी चीजें जिनकी आपको आवश्यकता होगी। 3. सभी पैकेजों और सभी संस्करणों की सूची प्राप्त करने के लिए पाइप फ्रीज़ को चलाएं। आप एक फ़ाइल (पारंपरिक रूप से कहा जाता है requirements.txt 'में इस स्टोर कर सकते हैं तो फिर आप ताकि आप उन्हें विभिन्न मशीनों का उपयोग कर सकते करने के लिए कॉपी कर सकते हैं पैकेज को डाउनलोड करना चाहते हैं। pip download [options] -r <requirements file>यह सबसे कारगर तरीका नहीं है, लेकिन
शीना

5

शीना के उत्तर को और स्पष्ट करने के लिए , मुझे सेटअप-टूल्स को दूसरे टूल की निर्भरता के रूप में स्थापित करने की आवश्यकता है जैसे अधिक-इटर्टूल

डाउनलोड

Clone or downloadबटन पर क्लिक करें और अपनी विधि चुनें। मैंने इन्हें dev/py/libsअपने उपयोगकर्ता होम निर्देशिका में एक निर्देशिका में रखा । इससे कोई फर्क नहीं पड़ता कि उन्हें कहाँ बचाया गया है, क्योंकि वे वहाँ स्थापित नहीं होंगे।

सेटअप-उपकरण स्थापित करना

आपको सेटअप-टूल डायरेक्टरी के अंदर निम्नलिखित चलाने की आवश्यकता होगी ।

python bootstrap.py
python setup.py install

सामान्य निर्भरता स्थापना

अब आप अधिक-इटर्टूलस डाइरेक्ट्री पर नेविगेट कर सकते हैं और इसे सामान्य रूप में स्थापित कर सकते हैं।

  1. पैकेज डाउनलोड करें
  2. यदि यह एक संग्रह है तो इसे अनपैक करें
  3. cd ...निर्देशिका में नेविगेट ( ) करेंsetup.py
  4. यदि यहां मौजूद दस्तावेज़ में कोई इंस्टॉलेशन निर्देश हैं, तो अन्य निर्देशों को पढ़ें और उनका पालन करें
  5. में टाइप करें: python setup.py install

2

भले ही शीना का जवाब काम pipकरता हो , बस वहीं नहीं रुकती।

शीना के जवाब से:

  1. पैकेज डाउनलोड करें
  2. ज़िप किया गया है तो इसे अनज़िप करें
  3. setup.py निर्देशिका में सीडी
  4. यदि यहां मौजूद किसी भी इंस्टॉलेशन निर्देश में निहित हैं, तो अन्य निर्देशों को पढ़ें और उनका पालन करें
  5. में टाइप करें python setup.py install

इसके अंत में, आप एक .eggफ़ाइल के साथ समाप्त करेंगे site-packages। एक उपयोगकर्ता के रूप में, यह आपको परेशान नहीं करना चाहिए। आप importऔर uninstallपैकेज सामान्य रूप से कर सकते हैं । हालाँकि, यदि आप इसे pipवैसे ही करना चाहते हैं, तो आप निम्न चरणों को जारी रख सकते हैं।

में site-packagesनिर्देशिका,

  1. unzip <.egg file>
  2. EGG-INFOनिर्देशिका का नाम बदलें<pkg>-<version>.dist-info
  3. अब आपको पैकेज नाम के साथ एक अलग निर्देशिका दिखाई देगी, <pkg-directory>
  4. find <pkg-directory> > <pkg>-<version>.dist-info/RECORD
  5. find <pkg>-<version>.dist-info >> <pkg>-<version>.dist-info/RECORD>>अधिलेखित को रोकने के लिए है।

अब, site-packagesनिर्देशिका को देखते हुए, आपको कभी भी एहसास नहीं होगा कि आप बिना स्थापित हैं pip। करने के लिए uninstall, बस सामान्य करते हैं pip uninstall <pkg>


क्या होगा अगर मैं एनाकोंडा रिपॉजिटरी से एक पैकेज स्थापित कर रहा हूं और इसमें setup.pyफ़ाइल नहीं है ?
चकित
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.