कोंडा: सीधे जीथब से इंस्टाल / अपग्रेड करना


112

क्या मैं कॉन्डा का उपयोग करके GitHub से संकुल को उन्नत / उन्नत कर सकता हूँ ?

उदाहरण के लिए, pipमैं कर सकता हूँ:

pip install git+git://github.com/scrappy/scrappy@master

GitHub में शाखा scrappyसे सीधे स्थापित करने के लिए master। क्या मैं कोंडा के बराबर कुछ कर सकता हूं?

यदि यह संभव नहीं है, तो क्या यह कॉन्डा के साथ पाइप स्थापित करने और पाइप के साथ ऐसे स्थानीय प्रतिष्ठानों को प्रबंधित करने के लिए कोई मतलब होगा?

जवाबों:


74

अब इसके लिए बेहतर सपोर्ट है conda-env। उदाहरण के लिए, अब आप कर सकते हैं:

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - "--editable=git+https://github.com/pythonforfacebook/facebook-sdk.git@8c0d34291aaafec00e02eaa71cc2a242790a0fcc#egg=facebook_sdk-master"

यह अभी भी कवर के तहत पाइप को बुला रहा है, लेकिन अब आप एक environment.ymlफ़ाइल में अपने कोंडा और पाइप पैकेज के विनिर्देशों को एकजुट कर सकते हैं ।

यदि आप इस फ़ाइल के साथ अपने रूट वातावरण को अपडेट करना चाहते हैं, तो आपको इसे एक फ़ाइल में सहेजना होगा (उदाहरण के लिए environment.yml), फिर कमांड चलाएँ conda env update -f environment.yml:।

यह अधिक संभावना है कि आप एक नया वातावरण बनाना चाहेंगे:

conda env create -f environment.yml (टिप्पणियों में माना गया)


आप अपने मूल वातावरण में उस वातावरण से आवश्यकताओं को कैसे स्थापित करते हैं?
होब्स

@ हब्स - मैंने आपके प्रश्न का उत्तर देने के लिए उत्तर संपादित किया है।
एरन अहमदिया

1
यह वास्तव में है conda env create -f environment.yml, के साथ ध्वज के लिए खड़ा है । conda create-f--force
पेरी

1
क्या यह कहीं दस्तावेज है?
गिलहरमेक्स

1
@Perfi, मेरी गलती मैंने सोचा कि आप का सुझाव दे रहे थे कि -fमें conda env createबल में जाना जाता है, और के लिए नहीं conda createध्यान से पढ़ नहीं के लिए, मेरी गलती।
विल

103

उत्तर पुराने हैं। आपको बस पाइप और गिट स्थापित करना है। फिर आप सामान्य रूप से पाइप का उपयोग कर सकते हैं:

  1. अपने कोंडा पर्यावरण को सक्रिय करें source activate myenv

  2. conda install git pip

  3. pip install git+git://github.com/scrappy/scrappy@master


4
इसके अलावा आपको उस पाइप का उपयोग करना होगा जो आपके एनवी के भीतर है जैसे मेरे मामले में जिस पाइप का मैंने इस्तेमाल किया वह था "/ home / ubuntu / anaconda3 / envs / tanorflow_p36 / bin / pip"। यह पाइप आपके द्वारा कोंडा इंस्टॉल करने के बाद आता है। आप इस बिन dir को अपने $ PATH के लिए प्रस्तुत कर सकते हैं।
faizan

1
masterउसके बाद केवल शाखा पर स्थापित पैकेज है? क्या होगा यदि मैं अपने पीआर को मास्टर में विलय करने से पहले एक शाखा से परीक्षण करना चाहूंगा?
मायमोझा

1
@AntonAndreev युक्ति दोनों का समर्थन करता है git+gitऔर git+https, अन्य। हालांकि, सभी कल्पना उदाहरण .gitशाखा को निर्दिष्ट करते समय दिखाते हैं ।
मर्व

4
बहुत कुछ पहले से ही ओपी (उपयोग pip install) में है। सवाल यह पूछ रहा है कि conda सीधे इसका उपयोग कैसे किया जाए , जो शीर्ष उत्तर प्रदान करता है।
अमीलियो वाज़केज़-रीना

29

condaयह सीधे समर्थन नहीं करता है क्योंकि यह बायनेरिज़ से इंस्टॉल होता है, जबकि गिट इंस्टॉलेशन स्रोत से होगा। conda buildसमर्थन व्यंजनों कि गिट से बनाया जाता है। दूसरी ओर, यदि आप सब करना चाहते हैं, तो नवीनतम और सबसे बड़े पैकेज के साथ अद्यतित रहें, एनाकोंडा के अंदर पाइप का उपयोग करना ठीक है, या वैकल्पिक रूप से, setup.py developएक गिट क्लोन के खिलाफ उपयोग करें ।


क्या होगा अगर आपके पैकेज में एक रिलीज बाइनरी है जो इसके साथ जुड़ा हुआ है?
मार्सेल रामोस

4

मुझे इसका एक संदर्भ कोंडा मुद्दों में मिला । निम्नलिखित को अब काम करना चाहिए।

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - git+https://github.com/pythonforfacebook/facebook-sdk.git

यह कुछ भी नहीं जोड़ता है जो पहले से ही @ एरोनहैमिया के उत्तर में नहीं है , जो आमतौर पर अधिक दिखाता है कि सामान्य आवश्यकताओं में कई विकल्प उपलब्ध हैं।
मर्व
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.