एक ऐसा संस्करण नहीं मिला जो आवश्यकता को पूरा करता हो <पैकेज>


139

मैं निम्नलिखित requirements.txtफ़ाइल का उपयोग करके Ubuntu 12.04 में कई पायथन पैकेज स्थापित कर रहा हूं :

numpy>=1.8.2,<2.0.0
matplotlib>=1.3.1,<2.0.0
scipy>=0.14.0,<1.0.0
astroML>=0.2,<1.0
scikit-learn>=0.14.1,<1.0.0
rpy2>=2.4.3,<3.0.0

और ये दो आदेश:

$ pip install --download=/tmp -r requirements.txt
$ pip install --user --no-index --find-links=/tmp -r requirements.txt

(पहला एक संकुल को डाउनलोड करता है और दूसरा उन्हें स्थापित करता है)।

प्रक्रिया को अक्सर त्रुटि के साथ रोका जाता है:

  Could not find a version that satisfies the requirement <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2)) (from versions: )
No matching distribution found for <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2))

जिसे मैं मैन्युअल रूप से ठीक करता हूं:

pip install --user <package>

और फिर दूसरी pip installकमांड चलाएं ।

लेकिन यह केवल उस विशेष पैकेज के लिए काम करता है । जब मैं दूसरी pip installकमांड को फिर से चलाता हूं , तो प्रक्रिया अब एक और आवश्यक पैकेज के बारे में शिकायत करना बंद कर देती है और मुझे फिर से प्रक्रिया को दोहराने की आवश्यकता होती है, अर्थात: नए आवश्यक पैकेज को मैन्युअल रूप से स्थापित करें (ऊपर दिए गए कमांड के साथ) और फिर दूसरी pip installकमांड चलाएं ।

अब तक मैं मैन्युअल रूप से स्थापित करने के लिए मिला है six, pytz, nose, और अब यह जरूरत के बारे में शिकायत कर रहा है mock

वहाँ एक रास्ता बताने के pipलिए स्वचालित रूप से सभी की जरूरत निर्भरता स्थापित करने के लिए है तो मैं इसे मैन्युअल रूप से एक-एक करके नहीं है?

जोड़ें : यह केवल Ubuntu 12.04 BTW में होता है। उबंटू 14.04 में फ़ाइल काम pip installपर लागू किए गए कमांड requirements.txtबिना मुद्दों के।


1
कभी-कभी आपका Django प्रोजेक्ट स्थानीय काढ़ा पैकेज पर निर्भर हो सकता है। आपके द्वारा इन पर लगाए गए दोहरे चेक!
जेम्स ११

मैं एक ही मुद्दा था, 'अजगर-पी पाइप स्थापित फ्लास्क' के साथ मैं इसे स्थापित करने में सक्षम था
फ्रीलांसर

जवाबों:


47

यह दृष्टिकोण (एक निर्देशिका में सभी निर्भरता होने और एक सूचकांक से डाउनलोड नहीं करना) केवल तब काम करता है जब निर्देशिका में सभी पैकेज होते हैं। इसलिए निर्देशिका में सभी निर्भरताएँ होनी चाहिए, लेकिन उन सभी पैकेजों पर भी निर्भर करती हैं, जो उन निर्भरताओं पर निर्भर करते हैं (जैसे six, pytzआदि)।

इसलिए आपको इन्हें मैन्युअल रूप से शामिल करना चाहिए requirements.txt(ताकि पहला चरण उन्हें स्पष्ट रूप से डाउनलोड करें) या आपको PyPI का उपयोग करके सभी पैकेजों को स्थापित करना चाहिए और फिर pip freeze > requirements.txtआवश्यक सभी पैकेजों की सूची को संग्रहीत करना चाहिए।


तो यह पता लगाने का एकमात्र तरीका है कि सभी आवश्यकताओं को freezeस्थापित कार्य में स्थापित पैकेजों के लिए क्या है और फिर requirements.txtफ़ाइल में सब कुछ जोड़ना है ?
गेब्रियल

2
@ गैब्रिएल: वर्तमान में कई सारे पायथन पैकेज एक setup.pyफ़ाइल चलाकर स्थापित किए जाते हैं , जिसमें वे निर्भरताएँ होती हैं जिनकी उन्हें आवश्यकता होती है। पायथन पैकेज व्हील फाइल्स ( pythonwheels.com ) बनने के बाद यह बेहतर हो जाना चाहिए जो आपको setup.pyफाइलों में मनमाने कोड को निष्पादित किए बिना सभी आवश्यक पैकेजों की सूची इकट्ठा करने की अनुमति देता है ।
शिमोन विसर

1
स्पष्टीकरण शिमोन के लिए धन्यवाद। एक और बात अगर आपको कोई आपत्ति नहीं है: यह Ubuntu 14.04 में क्यों नहीं होता है, लेकिन यह Ubuntu 12.04 में होता है?
गेब्रियल

4
@ गैब्रिएल: मुझे यकीन नहीं है - मेरे अनुभव में pipहमेशा गर्भपात होता है जब इसे स्थापित करने के लिए पैकेज नहीं मिल सकता है। कहा जा रहा है कि pipसक्रिय रूप से विकसित किया जा रहा है, इसलिए यह हो सकता है कि आपके पास एक ऐसा संस्करण हो, जिसके साथ मैंने काम नहीं किया है।
शिमोन विसर

@SimeonVisser, "[पहिए] आपको मनमाना कोड निष्पादित किए बिना सभी आवश्यक पैकेजों की एक सूची इकट्ठा करने की अनुमति देते हैं", दिलचस्प, मन साझा करना वास्तव में ऐसा कैसे करें (अब तक)?
sschuberth

39

मैंने python3 स्थापित किया था लेकिन / prthon in / usr / bin / python अभी भी पुराना 2.7 संस्करण था

यह काम किया ( मेरे मामले में <pkg>था pyserial):

python3 -m pip install <pkg>

1
यह तब होता है जब सेटप्टूल python_requires='>=3.0'में आवश्यकता के रूप में होता है
जुआन-कबाली

11

2 घंटे की खोज के बाद, मुझे इसे कमांड की सिर्फ एक पंक्ति के साथ ठीक करने का एक तरीका मिला। आपको पैकेज के संस्करण को जानना होगा (बस पैकेज संस्करण खोजें)।

कमान:

python3 -m pip install --pre --upgrade PACKAGE==VERSION.VERSION.VERSION


4

निम्न आदेश का उपयोग करके शक्तियाँ के माध्यम से फ्लास्क स्थापित करने का प्रयास करें।

pip install --isolated Flask

यह पर्यावरण चर और उपयोगकर्ता विन्यास को अलग करने की अनुमति देगा।


3

हमेशा नहीं, लेकिन कुछ मामलों में पैकेज पहले से मौजूद है। उदाहरण के लिए - गेटपास। यह "पाइप सूची" द्वारा सूचीबद्ध नहीं है, लेकिन इसे आयात और उपयोग किया जा सकता है:

यहां छवि विवरण दर्ज करें

अगर मैं गेटपास स्थापित करने की कोशिश करता हूं तो मुझे निम्नलिखित त्रुटि मिलती है: "एक ऐसा संस्करण नहीं मिला जो आवश्यकता गेटपास को संतुष्ट करता हो"


1

awscliएनाकोंडा में विंडोज 10 पर स्थापित करते समय मुझे यह त्रुटि मिली (अजगर 3.7)। समस्या निवारण करते समय, मैं उत्तर https://stackoverflow.com/a/49991357/6862405 और फिर https://stackoverflow.com/a/54582701/6862405 पर गया । अंत में पाया गया कि मैं पुस्तकालयों स्थापित करने की आवश्यकता PyOpenSSL, cryptography, enum34, idnaऔर ipaddress। इन्हें स्थापित करने के बाद (केवल pip installकमांड का उपयोग करके ), मैं स्थापित करने में सक्षम था awscli


1

यदि आप कार्यस्थल पर इस मुद्दे का सामना कर रहे हैं। यह आपके लिए समाधान हो सकता है।

pip install -U <package_name> --user --proxy=<your proxy>


-6

कमांड प्रॉम्प्ट का उपयोग करें और फिर व्यवस्थापक के रूप में रन का चयन करें।

पाइप संस्करण को अपग्रेड करें

PIP को अपग्रेड करने के लिए, यह कमांड टाइप करें, और फिर Enter दबाएँ: -

python.exe -m pip इंस्टॉल --upgrad पाइप

अजगर पथ पर वापस जाएं C: \ Users \ Jack \ AppData \ Local \ Programs \ Python \ Python37 \ Scripts

टाइप ज्यूपिटर नोटबुक

आपको http: // localhost: 8888 / अपरिभाषित / वृक्ष - बृहस्पति होम पेज पर पुनः निर्देशित किया जाएगा।

आशा करता हूँ की ये काम करेगा !!!!!!!!!!!


2
जुपिटर को इससे क्या लेना देना है ??
बज़्ज़

कैसे उन्नयन कर सकते हैं पाइप निर्भरता को हल? इसे कॉलिंग डायरेक्टरी में निर्भरता की आवश्यकता होती है।
रिजवान जावीद

-7

मदद हो सकती है

sudo pip install व्हील == 0.29.0


4
क्षमा करें .. मैं चीनी या अन्य एशियाई भाषा नहीं पढ़ता .. भविष्य में रेफरल लिंक टूट सकता है ... कृपया यहाँ पोस्ट करें। जैसा कि बिना संदर्भ के इसके कम गुणवत्ता वाले उत्तर को पोस्ट किया गया है।
ZF007

1
रेफरल लिंक जापानी में है ... कृपया अंग्रेजी में लिंक साझा करने पर विचार करें
javidazac

6
कोड सभी डेवलपर्स के लिए समझ में आता है और जापानी की मात्रा दोनों न्यूनतम और थोड़ी अधिक है कि शीर्षक निम्नलिखित कोड का परिचय देते हैं (इसका अनुवाद करें यदि यह आपके लिए बहुत चुनौतीपूर्ण है लेकिन आपको वास्तव में यह समझने की ज़रूरत नहीं है कि क्या हो रहा है)। अंग्रेजी के अलावा अन्य भाषाओं के साथ कोई समस्या नहीं होनी चाहिए क्योंकि कोड उदाहरण स्पष्ट हैं और पूरी तरह से इस्तेमाल की जा रही विदेशी भाषा पर निर्भर नहीं हैं।
rg88

6
@ rg88 यह एक टिप्पणी (शायद एक चेतावनी के साथ) के लिए ठीक होगा लेकिन स्टैक ओवरफ्लो पर एक जवाब आत्म-निहित और आश्वस्त होना चाहिए।
त्रिपाली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.