2017-01-08 10 views
6

से स्थापित करें मुझे एक गिट पायथन रेपो डाउनलोड करना है और स्थापित करना है क्योंकि पीपीआई संस्करण अपडेट नहीं किया गया है।पायथन पाइप - स्थानीय डीआईआर

आम तौर पर मैं यह कर जाएगा:

pip install mypackage 
pip install mypackage[redis] 

अब मेरे पास है रेपो निम्न फ़ोल्डर में क्लोन:

/opt/mypackage

तो कैसे मैं नीचे नहीं स्थापित करने के लिए चलाने के पीपीआई संस्करण का उपयोग कर स्थानीय लेकिन?

pip --flag /opt/mypackage install mypackage 
pip --flag /opt/mypackage install mypackage[redis] 

वहाँ पिप झंडे उपलब्ध हैं और मैं कैसे पूरा करने के लिए नहीं दिख रहा है:

Commands: 
    install      Install packages. 
    uninstall     Uninstall packages. 
    freeze      Output installed packages in requirements format. 
    list      List installed packages. 
    show      Show information about installed packages. 
    search      Search PyPI for packages. 
    wheel      Build wheels from your requirements. 
    help      Show help for commands. 

General Options: 
    -h, --help     Show help. 
    --isolated     Run pip in an isolated mode, ignoring environment variables and user configuration. 
    -v, --verbose    Give more output. Option is additive, and can be used up to 3 times. 
    -V, --version    Show version and exit. 
    -q, --quiet     Give less output. 
    --log <path>    Path to a verbose appending log. 
    --proxy <proxy>    Specify a proxy in the form [user:[email protected]]proxy.server:port. 
    --retries <retries>   Maximum number of retries each connection should attempt (default 5 times). 
    --timeout <sec>    Set the socket timeout (default 15 seconds). 
    --exists-action <action> Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup. 
    --trusted-host <hostname> Mark this host as trusted, even though it does not have valid or any HTTPS. 
    --cert <path>    Path to alternate CA bundle. 
    --client-cert <path>  Path to SSL client certificate, a single file containing the private key and the certificate in PEM format. 
    --cache-dir <dir>   Store the cache data in <dir>. 
    --no-cache-dir    Disable the cache. 
    --disable-pip-version-check 
+0

क्या सार्वजनिक इंटरनेट पर रेपो है (उदाहरण के लिए जिथब)? – snakecharmerb

+0

मुझे लगता है कि आप झंडे की तलाश में हैं। पैकेज निर्देशिका के अंदर 'पाइप इंस्टॉल-ए।' काम करना चाहिए। – fabianegli

+0

कृपया अपने प्रश्नों पर मतदान टिप्पणी जोड़ने से बचें। यदि आपको वास्तव में जरूरी है, तो आप इसे टिप्पणी के रूप में जोड़ने के लिए स्वागत करते हैं, हालांकि जब तक आप जवाब देते हैं, तो डाउनवॉटर आमतौर पर चले जाते हैं और आपकी टिप्पणी नहीं देख पाएंगे। इसके अतिरिक्त, आप उच्च प्रतिनिधि हैं, और निश्चित रूप से -1 के बारे में चिंता करने की आवश्यकता नहीं है। – halfer

उत्तर

8

आप पिप साथ प्रतिष्ठानों पर मदद के लिए देख रहे थे। आप निम्न आदेश के साथ पा सकते हैं: pip install --help

रनिंग pip install -e /path/to/package एक तरह से पैकेज को स्थापित करता है, कि आप पैकेज संपादित कर सकते हैं, और जब एक नया आयात कॉल इसके लिए लग रहा है, उसे संपादित पैकेज कोड आयात करेगा। यह पैकेज विकास के लिए भी बहुत उपयोगी है।

16

तुम सब करने की ज़रूरत है

pip install /opt/mypackage 

चलाया जाता है और पिप एक setup.py के लिए /opt/mypackage खोज करेंगे, एक पहिया का निर्माण, तो यह स्थापित करें।

this answer के रूप में टिप्पणी में सुझाव दिया और pip install के लिए -e ध्वज का उपयोग कर के साथ समस्या यह है कि इस की आवश्यकता है कि जब तक आप मॉड्यूल का उपयोग करना चाहते हैं के लिए जगह में मूल स्रोत निर्देशिका मनाने। यह बहुत अच्छा है अगर आप स्रोत पर काम कर रहे डेवलपर हैं, लेकिन यदि आप बस एक पैकेज स्थापित करने की कोशिश कर रहे हैं, तो यह गलत विकल्प है।

वैकल्पिक रूप से, आपको गिथब से रिपो को भी डाउनलोड करने की आवश्यकता नहीं है। पाइप supports दूसरों के बीच HTTP, HTTPS, और SSH सहित विभिन्न प्रोटोकॉल का उपयोग करके गिट रेपो से सीधे इंस्टॉल करना। उदाहरणों के लिए लिंक किए गए दस्तावेज़ देखें।

+0

लेकिन मुझे एक वैकल्पिक निर्भरता स्थापित करने की आवश्यकता है उदा। mypackage [redis] यह कैसे संबोधित किया जाता है? लगभग 15 वैकल्पिक निर्भरता स्थापित हैं, लेकिन मुझे केवल 1. – Tampa

+1

@Tampa की आवश्यकता है, जहां तक ​​मैं कह सकता हूं, 'पाइप इंस्टॉल/ऑप्ट/माइपैकेज [रेडिस]' काम करना चाहिए। – MattDMo

+0

यह मेरे लिए पूरी तरह से काम किया :) – dspacejs

संबंधित मुद्दे