एनाकोंडा पर्यावरण के लिए पैकेज स्थापित करने के लिए पिप का उपयोग करना


178

conda 4.2.13 MacOSX 10.12.1

मैं pipएनाकोंडा का उपयोग करके बनाए गए एक नए वातावरण (आभासी) से पैकेज स्थापित करने का प्रयास कर रहा हूं । एनाकोंडा डॉक्स में यह कहता है कि यह पूरी तरह से ठीक है। यह virtualenv के लिए उसी तरह किया जाता है।

उस वातावरण को सक्रिय करें जहां आप प्रोग्राम रखना चाहते हैं, फिर एक प्रोग्राम इंस्टॉल करें ...

मैंने एनाकोंडा में इस तरह एक खाली वातावरण बनाया:

conda create -n shrink_venv

इसे सक्रिय करें:

source activate shrink_venv

मैं तब टर्मिनल में देख सकता हूं कि मैं अपने एनवी में काम कर रहा हूं (shrink_venv)। समस्या तब आ रही है, जब मैं एक पैकेज का उपयोग करने की कोशिश करता हूं pip:

(shrink_venv): pip install Pillow

Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages

इसलिए मैं यह देख सकता हूं कि सिस्टम-वाइड पैकेज से आवश्यकता संतुष्ट है। तो ऐसा लगता है कि पर्यावरण सही तरीके से काम नहीं कर रहा है, निश्चित रूप से ऐसा नहीं है जैसा कि डॉक्स में कहा गया है। क्या मुझसे यहां कुछ गलत हो रहा है?

बस एक नोट, मुझे पता है कि आप conda installपैकेज के लिए उपयोग कर सकते हैं , लेकिन मुझे एनाकोंडा से पिलो के साथ एक मुद्दा मिला है, इसलिए मैं इसे प्राप्त करना चाहता था pip, और चूंकि डॉक्स कहते हैं कि यह ठीक है।

का आउटपुट which -a pip:

/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip

** अद्यतन ** मुझे लगता है कि यह बहुत आम मुद्दा है। मैंने जो पाया है वह यह है कि conda env PYTHONPATH के साथ अच्छा नहीं खेलता है। सिस्टम हमेशा PYTHONPATH स्थानों में दिखता है, तब भी जब आप एक कोंडा पर्यावरण का उपयोग कर रहे हैं। अब, मैं हमेशा unset PYTHONPATHएक कोंडा पर्यावरण का उपयोग करते समय चलाता हूं, और यह बहुत बेहतर काम करता है। मैं एक मैक पर हूँ।


9
क्या आपने कोशिश की conda install pip?
डेसरिट

4
क्या आप which -a pipकृपया अपने प्रश्न का आउटपुट जोड़ सकते हैं ?
cel

1
क्या आपके पास एक PYTHONPATHपर्यावरण चर सेट है?
दर्भित

1
एक समान मुद्दा था। स्पष्ट रूप से उस पाइप का उपयोग करना जो एनाकोंडा का हिस्सा है, मेरे लिए काम कर रहा था।
Arsene ल्यूपिन

1
क्या पाइप और कोंडा का उपयोग करके चीजों को स्थापित करना वास्तव में सुरक्षित है? मुझे लगा कि आप मुद्दों पर विचार कर सकते हैं, जैसे कि अनइंस्टॉल ठीक करने के लिए कौन सा संस्करण नहीं है ...
चार्ली पार्कर

जवाबों:


203

इस स्थिति में भाग लेने वाले अन्य लोगों के लिए, मुझे यह सबसे सीधा समाधान लगता है:

  1. चलाएं conda create -n venv_nameऔर source activate venv_name, venv_nameआपके वर्चुअल वातावरण का नाम कहां है।

  2. भागो conda install pip। यह आपके वेव डायरेक्टरी में पाइप स्थापित करेगा।

  3. अपनी एनाकोंडा डायरेक्टरी खोजें, और वास्तविक वेनव फोल्डर खोजें। यह कहीं होना चाहिए /anaconda/envs/venv_name/

  4. नया पैकेज स्थापित करके /anaconda/envs/venv_name/bin/pip install package_name

यह अब उस आभासी वातावरण के पाइप का उपयोग करके सफलतापूर्वक पैकेज स्थापित करना चाहिए!


2
क्या binफ़ोल्डर के लिए पथ बदल गया है? मैं अब इसे venv_nameफ़ोल्डर में नहीं देख रहा हूँ ?
जैक

बस एक नया वेन बनाने की कोशिश की, ऐसा लगता है कि binअभी भी उसी जगह पर है।
विंडमिल

2
'बिन' फ़ोल्डर नहीं था इसलिए उपरोक्त चरणों ने मदद की। एक चीज जो मैं जोड़ूंगा वह है 'रनिंग पाइप' जो यह निर्धारित करने में मदद करता है कि कौन सा 'पाइप' वास्तव में पैकेज स्थापित कर रहा है और 'पाइप फ्रीज' पर्यावरण पैकेजों में स्थापित की सूची देता है
Mykola

2
मेरे पास ऐसी स्थिति है जहां मेरे स्रोत के सक्रिय होने के बावजूद, मेरे इंस्टॉलेशन वातावरण में नहीं हो रहे हैं। वे डिफ़ॉल्ट अजगर स्थान में स्थापित हैं।
सैसुमनम गोपीसेट्टी

4
भागो: इस सवाल का जवाब काफी हद तक है pipअपने conda env से (चाहे वह पर्यावरण है या नहीं), और पैकेज है कि आप का उपयोग कर चाहते स्थापित pip(मेरे मामले: conda फ़ोल्डर के भीतर निष्पादन AppData\Local\Continuum\anaconda3\Scripts)
मैन्युअल मार्टिनेज़

80

आपको बस एनाकोंडा प्रॉम्प्ट और टाइप करना है

pip install package-name

यह स्वचालित रूप से उपयोग किए बिना एनाकोंडा वातावरण में स्थापित हो जाएगा

conda install package-name

चूंकि कुछ कोंडा पैकेजों में ओवरटाइम का अभाव हो सकता है, इसलिए पाइप का उपयोग करके इसे स्थापित करना आवश्यक है और ऐसा करने का यह एक तरीका है

यदि आपके पास एनाकोंडा में पाइप स्थापित है, तो आप जुपिटर नोटबुक में या अपने अजगर के खोल में चला सकते हैं जो एनाकोंडा से जुड़ा हुआ है

pip.main(['install', 'package-name'])

के साथ अपने पाइप के संस्करण की जाँच करें pip.__version__। यदि यह संस्करण 10.x.xया ऊपर है, तो कोड की इस पंक्ति के साथ अपने अजगर पैकेज को स्थापित करें

subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'package-name'])

अपने ज्यूपिटर नोटबुक में, आप एक सेल में पाइप के माध्यम से अजगर पैकेज स्थापित कर सकते हैं;

!pip install package-name

या आप एनाकोंडा से जुड़े अपने अजगर संस्करण का उपयोग कर सकते हैं

!python3.6 -m pip install package-name

6
आप "एनाकोंडा प्रॉम्प्ट कैसे खोलें"
थॉमस ब्राउन ने

3
खिड़कियों पर आप के लिए 'एनाकोंडा शीघ्र' खोज आइकन या इनपुट का उपयोग कर कार्य पट्टी और खुले पर पाया खोज करने के लिए है
sambeth


1
मुझे लगता है कि कुंजी आपके एनाकोंडा के पाइप को चलाने के लिए है, जो आपके एनाकोंडा वैश्विक या विशिष्ट वातावरण के तहत बैठता है।
15

2
यह उत्तर गलत है। सवाल का पूरा बिंदु यह है कि कभी-कभी यह पर्यावरण में स्थापित नहीं होता है। यह विश्व स्तर पर स्थापित है। इसे रोकने के लिए, आपको पहले conda install pipवातावरण के अंदर चलाने की ज़रूरत है ताकि यह सुनिश्चित हो सके कि आप पाइप के स्थानीय संस्करण का उपयोग कर रहे हैं।
पीचमैन

33

मैंने इस समस्या को निम्न तरीके से हल किया:

यदि आपके पास अपने डिफ़ॉल्ट पाइप के रूप में एक गैर-कोंडा पाइप है लेकिन कोंडा अजगर आपका डिफ़ॉल्ट अजगर है (नीचे के रूप में)

>which -a pip
/home/<user>/.local/bin/pip   
/home/<user>/.conda/envs/newenv/bin/pip
/usr/bin/pip

>which -a python
/home/<user>/.conda/envs/newenv/bin/python
/usr/bin/python

तब केवल कॉल करने के बजाय pip install <package>, आप -mअजगर के साथ मॉड्यूल ध्वज का उपयोग कर सकते हैं ताकि यह स्थापना के लिए एनाकोंडा पायथन का उपयोग करे

python -m pip install <package>

यह पैकेज को एनाकोंडा लाइब्रेरी डायरेक्टरी के बजाय लाइब्रेरी डायरेक्टरी (गैर-एनाकोंडा) पाइप से जुड़ा हुआ है


3
इसका उत्तर होना चाहिए। विंडोज पर पूरी तरह से काम करता है।
जियोर्डी

9

यदि आपने कोंडा पर्यावरण बनाते समय पाइप नहीं जोड़ा है

conda create -n env_name pip

और पर्यावरण के अंदर पाइप स्थापित नहीं किया

source activate env_name
conda install pip

उसके बाद आपको मिलने वाला एकमात्र पाइप सिस्टम पाइप है, जो विश्व स्तर पर पैकेज स्थापित करेगा।

इस मुद्दे में जैसा कि आप देख सकते हैं बस , भले ही आपने ऊपर बताई गई प्रक्रिया में से कोई भी किया हो, फिर भी कोंडा पर्यावरण के अंदर पाइप का व्यवहार अभी भी अपरिभाषित है।

लंबा टाइप करने के लिए बिना कोंडा पर्यावरण के अंदर स्थापित पाइप का उपयोग सुनिश्चित करने के लिए /home/username/anaconda/envs/env_name/bin/pip, मैंने एक शेल फ़ंक्शन लिखा:

# Using pip to install packages inside conda environments.
cpip() {
    ERROR_MSG="Not in a conda environment."
    ERROR_MSG="$ERROR_MSG\nUse \`source activate ENV\`"
    ERROR_MSG="$ERROR_MSG to enter a conda environment."

    [ -z "$CONDA_DEFAULT_ENV" ] && echo "$ERROR_MSG" && return 1

    ERROR_MSG='Pip not installed in current conda environment.'
    ERROR_MSG="$ERROR_MSG\nUse \`conda install pip\`"
    ERROR_MSG="$ERROR_MSG to install pip in current conda environment."

    [ -e "$CONDA_PREFIX/bin/pip" ] || (echo "$ERROR_MSG" && return 2)

    PIP="$CONDA_PREFIX/bin/pip"
    "$PIP" "$@"
}

यह आप के लिए उपयोगी है उम्मीद है।


8

यह मेरे लिए काम किया है (छवि से जुड़ा हुआ देखें)

  1. एनाकोंडा खोलें
  2. घर के नीचे बाएँ हाथ के फलक में वातावरण का चयन करें
  3. बस जहाँ आपने "खोज वातावरण" बार के नीचे और नीचे चुना है, आपको बेस (रूट) देखना चाहिए। इस पर क्लिक करें
  4. एक त्रिकोण की ओर इशारा करते हुए दाईं ओर दिखना चाहिए, उस पर एक "ओपन टर्मिनल" चुनें
  5. यहां नियमित रूप से पाइप इंस्टॉल कमांड का उपयोग करें। एक पर्यावरण / पथ को इंगित करने की आवश्यकता नहीं है

भविष्य के संदर्भ के लिए, आप उस फ़ोल्डर को पा सकते हैं जिसे आपके पैकेज डाउनलोड कर रहे हैं यदि आपके पास पहले से संतुष्ट होने की आवश्यकता है। यदि आप टर्मिनल में स्क्रॉल करते हैं तो आप इसे देख सकते हैं। इसे कुछ इस तरह पढ़ना चाहिए: आवश्यकता पहले से ही संतुष्ट और फिर पथ

[ पाइप स्थापित एनाकोंडा]


3

पाइप के साथ कोंडा में कम संख्या में संकुल स्थापित करने के इच्छुक लोगों के लिए, तब

sudo $(which pip) install <instert_package_name>

मेरे लिए काम किया।

Explainaton

ऐसा लगता है, मेरे लिए वैसे भी, कि which pipतुम कहाँ हो कोंडा एनवी पाइप पथ खोजने के लिए बहुत विश्वसनीय है। हालांकि, उपयोग करते समय sudo, यह पथ को पुनर्निर्देशित करता है या अन्यथा इसे तोड़ता है।

$(which pip)इसे स्वतंत्र रूप से sudoया किसी भी कमांड को निष्पादित करता है और /home/<username>/(mini)conda(3)/envs/<env_name>/pipलिनक्स में चलाने के समान है । ऐसा इसलिए है क्योंकि $()अलग-अलग चलाया जाता है और बाहरी आउटपुट में टेक्स्ट आउटपुट जोड़ा जाता है।


3

उपरोक्त सभी उत्तर मुख्य रूप से virtualenv के उपयोग पर आधारित हैं। मेरे पास अभी एनाकोंडा 3 की ताज़ा स्थापना है और इसमें कोई वर्चुअनव नहीं है। इसलिए, मैंने virtualenv बनाने के बारे में सोचने के बिना इसके लिए एक बेहतर विकल्प पाया है।

यदि आपके पास लिनक्स में कई पाइप और पायथन संस्करण स्थापित हैं, तो पहले सभी स्थापित पाइप पथों को सूचीबद्ध करने के लिए कमांड के नीचे चलाएं।

जिसमें पाइप है

आपको आउटपुट के रूप में कुछ ऐसा मिलेगा।

पाइप: / usr / bin / pip /home/prabhakar/anaconda3/bin/pip/usr/share/man/man1/pip.1.gz

पाइप के पथ को कॉपी करें जिसे आप अपने पैकेज को स्थापित करने के लिए उपयोग करना चाहते हैं और इसे /home/prabhakar/anaconda3/bin/pipकमांडो के नीचे कमांड में बदलने के बाद पेस्ट करें।

सुडोल /home/prabhakar/anaconda3/bin/pipस्थापित<package-name>

यह मेरे लिए बहुत अच्छा काम किया। यदि आपको स्थापित करने में कोई समस्या है, तो कृपया टिप्पणी करें।


3

यदि आप विंडोज़ ओएस का उपयोग कर रहे हैं तो एनाकोंडा प्रॉम्प्ट और प्रकार खोलेंactivate yourenvname

और अगर आप mac या Linux OS ओपन टर्मिनल और टाइप का उपयोग कर रहे हैंsource activate yourenvname

yourenvname यहां आपका इच्छित वातावरण है जिसमें आप पाइप पैकेज स्थापित करना चाहते हैं

कमांड के ऊपर टाइप करने के बाद, आपको यह देखना होगा कि आपके पर्यावरण का नाम baseआपके टाइप किए गए वातावरण yourenvnameसे कंसोल आउटपुट में बदल गया है (जिसका अर्थ है कि आप अब अपने पर्यावरण के वातावरण में हैं)

तो फिर तुम सब करने की जरूरत है सामान्य pip installआदेश उदाpip install yourpackage

ऐसा करने से, पाइप पैकेज आपके कॉनडा वातावरण में स्थापित हो जाएगा


3

python -m pip install Pillow

के साथ सक्रिय वर्तमान पायथन के पाइप का उपयोग करेगा

source activate shrink_venv


3

निर्भर करता है कि आपने अपने PATH पर्यावरण चर को कैसे कॉन्फ़िगर किया। जब आपका शेल पाइप को कॉल को हल करता है, तो यह पहला बिन कौन सा होगा?

(test)$ whereis pip
pip: /home/borja/anaconda3/envs/test/bin/pip /home/borja/anaconda3/bin/pip

सुनिश्चित करें कि आपके एनाकोंडा इंस्टॉलेशन से बिन फ़ोल्डर / usr / lib से पहले है (यह निर्भर करता है कि आपने पाइप कैसे इंस्टॉल किया था)। तो एक उदाहरण:

(test) borja@xxxx:~$ pip install djangorestframework
....
Successfully installed asgiref-3.2.3 django-3.0.3 djangorestframework-3.11.0 pytz-2019.3 sqlparse-0.3.1

(test) borja@xxxx:~$ conda list | grep django
django                    3.0.3                    pypi_0    pypi
djangorestframework       3.11.0                   pypi_0    pypi

हम देख सकते हैं कि djangorestframework मेरे परीक्षण वातावरण में स्थापित किया गया था, लेकिन अगर मैं अपना आधार जांचता हूं:

(base) borja@xxxx:~$ conda list | grep django

यह खाली है।

व्यक्तिगत रूप से मैं .pam_environment का उपयोग करके अपने सभी पैट विन्यास को संभालना पसंद करता हूं , यहां एक उदाहरण है:

(base) borja@xxxx:~$ cat .pam_environment
PATH DEFAULT=/home/@{PAM_USER}/anaconda3/bin:${PATH}

एक अतिरिक्त कमेट। जिस तरह से आप पाइप स्थापित करते हैं, वह समस्याएँ पैदा कर सकता है:

  • आपको उपयोग करना चाहिए: कोंडा स्थापित पाइप -> पाइप के साथ स्थापित नए पैकेज को कोंडा सूची में जोड़ा जाएगा।

  • आप shodul का उपयोग नहीं करते हैं: sudo apt install python3-pip -> नए पैकेजों को conda सूची में नहीं जोड़ा जाएगा (इसलिए conda द्वारा प्रबंधित नहीं किया जाता है) लेकिन फिर भी आप उनका उपयोग कर पाएंगे (संघर्ष की संभावना)।


एक अतिरिक्त कमेट। जिस तरह से आप पाइप स्थापित करते हैं, वह समस्याएँ पैदा कर सकता है: - आपको इसका उपयोग करना चाहिए: conda install pip -> पाइप के साथ स्थापित नए पैकेजों को संघनित्र सूची में जोड़ा जाएगा। - आप उपयोग नहीं कर सकते हैं: sudo apt install python3-pip -> नए पैकेजों को कोंडा सूची में नहीं जोड़ा जाएगा (इसलिए कोई प्रबंधित नहीं) लेकिन फिर भी आप उनका उपयोग कर पाएंगे (संघर्ष का मौका)।
बोरजेस्ट

हाय सब :) मैं कैसे एक बिन फ़ोल्डर को हटा सकता हूं जैसे /usr/libकि यह मेरे एनाकोंडा बिन फ़ोल्डर से पहले है जब चल रहा है whereis pip?
लेनन

sudo apt remove python3-pipअपने लिनक्स वितरण से पाइप को हटाने की कोशिश करें और फिर आपके द्वारा उपयोग किए जा रहे कोंडा एनवायरमेंट में conda install -c anaconda pip:।
बोरजेट

2

मुझे एनाकोंडा पर एक गैर कॉन्डा पैकेज स्थापित करने में समस्या का सामना करना पड़ रहा था, मैंने यहां सबसे अधिक पसंद किए गए उत्तर का पालन किया और यह अच्छी तरह से नहीं हुआ (शायद इसलिए कि मेरा एनाकोंडा एफ निर्देशिका में है और एनवी बनाया गया सी और बिन फ़ोल्डर में नहीं बनाया गया था, मुझे पता नहीं है, लेकिन यह काम नहीं किया)।

एनाकोंडा पाइप के अनुसार पहले से स्थापित है (जो conda listएनाकोंडा प्रॉम्प्ट पर कमांड " " का उपयोग करते हुए पाया जाता है ), लेकिन पाइप पैकेज स्थापित नहीं हो रहे थे, इसलिए यहां मैंने क्या किया, मैंने फिर से पाइप स्थापित किया और फिर पाइप ने पैकेज स्थापित किया।

conda install pip
pip install see

see एक गैर-कोंडा पैकेज है।


2

वैसे मैंने उपरोक्त सभी तरीकों की कोशिश की। मेरे लिए कोई काम नहीं किया। निम्नलिखित ने मेरे लिए काम किया:

  1. अपने पर्यावरण को सक्रिय करें
  2. Https://pypi.org/simple/ / से मैन्युअल .whl पैकेज डाउनलोड करें
  3. उस फ़ोल्डर पर नेविगेट करें जहां आपने कमांड लाइन से डाउनलोड किया है
  4. प्रदर्शन: पाइप स्थापित करें package_name_whatever.whl

1

यदि आप केवल एक conda स्थापना करना चाहते हैं। बस अपने पथ चर से अन्य अजगर पथ के सभी हटा दें।

केवल छोड़कर:

C:\ProgramData\Anaconda3
C:\ProgramData\Anaconda3\Scripts
C:\ProgramData\Anaconda3\Library\bin

यह आपको केवल उपयोग करने की अनुमति देता है pip install *और यह सीधे आपके कोंडा इंस्टॉलेशन में स्थापित हो जाएगा।


-1

वैसे activate shrink_venvही करेंगे। मैंने नया वातावरण बनाने की कोशिश की और मेरा कोंडा इंस्टॉलेशन मुझे शुरुआत में स्रोत का उपयोग करने की अनुमति नहीं देता है।


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