2015-04-09 10 views
24

pip install चलाता है जो एक स्क्रिप्ट विकसित करने के लिए --dry-run फ़ंक्शन के लिए उपयोगी होगा।पाइप "ड्राई-रन" कैसे बनाया जाए?

मैं --no-install विकल्प पर आया था। लेकिन यह एक बहिष्कृत है और कॉल संदर्भ this पर है। केवल पैकेज को अनपैक करने के संकेत हैं, लेकिन मुझे पीपी दस्तावेज में unpack विकल्प नहीं मिल रहा है।

+0

पहिया स्थापित करने का प्रयास करें। अनपॅकिंग के लिए यह उपकरण है। "पीआईपी इंस्टॉल व्हील" का प्रयोग करें। –

उत्तर

7

ऐसा प्रतीत होता है कि आप सही हैं, इसे हटा दिया गया है (ref)।

यदि परीक्षण चलाने से आप वास्तव में एक निश्चित स्थान पर एक पैकेज स्थापित करने से पहले इसका परीक्षण कर रहे हैं, संभवतः एक सिस्टम व्यापक स्थापना से पहले, तो आप इसे वर्चुअल वातावरण का उपयोग करके सैंडबॉक्स कर सकते हैं और फिर पर्यावरण को त्याग सकते हैं।

virtualenv /tmp/venv; /tmp/venv/bin/pip install flask; rm -rf /tmp/venv 

पीआईपी के सूखे-रन तर्क का उपयोग करने के रूप में संक्षेप में नहीं, लेकिन यह काम करता है। इसके अलावा यदि आप पैकेज प्रतिष्ठानों की एक श्रृंखला के सूखे भाग को करना चाहते हैं, तो अंत में हटाने को छोड़ दें।

एक स्क्रिप्ट में आप एक प्रक्रिया में चुलाना कर सकते हैं:

#!/bin/bash 

TMP_DIR='/tmp/venv' 

function dry_run(){ 
    if [ ! -d "$TMP_DIR" ]; then 
      virtualenv /tmp/venv 
    fi 
    /tmp/venv/bin/pip install $1 
} 

dry_run flask 
dry_run uwsgi 
rm -rf $TMP_DIR 

आप एक सूखी रन का परीक्षण करती है कि है कि नए स्थापित (रों) अच्छी तरह से प्रणाली विस्तृत तैनात के साथ खेलते हैं क्या करना चाहते हैं, तो virtualenv के सिस्टम का उपयोग करें -साइट-पैकेज विकल्प।

virtualenv --system-site-packages /tmp/venv; /tmp/venv/bin/pip install flask; rm -rf /tmp/venv 
6

हाँ - पिप एक dry-run विकल्प, इंगित करने के लिए क्या एक जटिल स्थिति में क्या होगा होना चाहिए। pip install चलाने के बिना पैकेजिंग डाउनग्रेड करते समय खतरनाक है। हमें यह पूछने के लिए कुछ तरीका चाहिए कि क्या होगा यदि हम pip install -r requirements.txt को सभी आवश्यकताओं के माध्यम से श्रमिक रूप से खोजे बिना और वर्तमान में इंस्टॉल किए गए लोगों की तुलना में चलाएंगे।

ऐसा लगता है कि setup.py का उपयोग dry-run है। लोग इसे कहीं और पूछ रहे हैं।

उस दिशा में कुछ प्रगति यहां पाया जा सकता:

-1

पिप संस्करण 9 के साथ एक नया विकल्प --format freezepip install -r के लिए एक सुंदर एक पंक्ति समाधान के लिए अग्रणी है उपयोग केस:

pip list --format freeze | diff - requirements.txt 
+3

सबसे कमजोर मामलों के अलावा कुछ भी के लिए यह एक बड़ा अंतर दिखाएगा क्योंकि require.txt में ट्रांजिटिव निर्भरता (निर्भरता की निर्भरता) शामिल नहीं होगी। –

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