python - स्थानीय निर्देशिका से require.txt के अनुसार संकुल को कैसे पाइप करें?




virtualenv pip (6)

यहाँ समस्या है

मेरे पास एक requirement.txt है जो इस तरह दिखता है:

BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...

मेरे पास एक स्थानीय संग्रह निर्देशिका है जिसमें सभी संकुल + अन्य शामिल हैं।

मैंने एक नया वर्चुअल लेव बनाया है

bin/virtualenv testing

इसे सक्रिय करने पर, मैंने स्थानीय संग्रह निर्देशिका से require.txt के अनुसार संकुल को संस्थापित करने का प्रयास किया।

source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/

मुझे कुछ आउटपुट मिला जो ऐसा लगता है कि इंस्टॉलेशन ठीक है

Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
  Running setup.py egg_info for package Fabric
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
  Running setup.py egg_info for package South
....

लेकिन बाद में जांच से पता चला कि कोई भी पैकेज ठीक से स्थापित नहीं है। मैं पैकेज आयात नहीं कर सकता, और मेरे वर्चुअलनेव की साइट-पैकेज निर्देशिका में कोई भी नहीं मिला है। तो क्या गलत हो गया?


Rescue.tv फ़ाइल में सभी फ़ाइलों को स्थापित करने के लिए virtualenv के लिए।

  1. निर्देशिका में सीडी जहां requirements.txt स्थित है
  2. अपने वर्चुअलएनवी को सक्रिय करें
  3. रन: अपने खोल में pip install -r requirements.txt

अक्सर, आप पीपीपीआई की जांच किए बिना स्थानीय अभिलेखागार से तेज़ी से इंस्टॉल करना चाहते हैं।

सबसे पहले, अपनी आवश्यकताओं को पूरा करने वाले अभिलेखागार डाउनलोड करें:

$ pip install --download <DIR> -r requirements.txt

फिर, –find-links और –no-index का उपयोग करके इंस्टॉल करें:

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt

मैं कई प्रणालियों के साथ काम करता हूं जिन्हें डेवलपर्स द्वारा "इंटरनेट पर मिलने वाले निर्देशों के अनुसार" लगाया गया है। यह बेहद आम है कि आपकी pip और आपके python एक ही पथ / साइट-पैकेज को नहीं देख रहे हैं। इस कारण से, जब मुझे अजीबता आती है तो मैं इसे करने से शुरू करता हूं:

$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']

$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

यह एक खुश प्रणाली है

नीचे एक दुखी प्रणाली है । (या कम से कम यह एक आनंदमय अज्ञानी प्रणाली है जो दूसरों को नाखुश होने का कारण बनती है।)

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3

यह नाखुश है क्योंकि pip (python3.6 और) /usr/local/lib/python3.6/site-packages का उपयोग करते हुए python (python2.7 और) /usr/local/lib/python2.7/site- /usr/local/lib/python2.7/site-packages

जब मैं यह सुनिश्चित करना चाहता हूं कि मैं सही पायथन के लिए आवश्यकताओं को स्थापित कर रहा हूं, तो मैं यह करता हूं:

$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3

$ /usr/bin/python -m pip install -r requirements.txt

आपने सुना है, "यदि यह तोड़ नहीं है, तो इसे ठीक करने की कोशिश न करें।" इसका DevOps संस्करण है, "यदि आपने इसे तोड़ नहीं दिया है और आप इसके आसपास काम कर सकते हैं, तो इसे ठीक करने का प्रयास न करें।"


मैंने उपरोक्त पढ़ा है, एहसास है कि यह एक पुराना सवाल है, लेकिन यह पूरी तरह से अनसुलझा है और अभी भी मेरे Google खोज परिणामों के शीर्ष पर है, इसलिए यहां एक उत्तर है जो हर किसी के लिए काम करता है:

pip install -r /path/to/requirements.txt

पायथन 3 के साथ वर्चुअल एनवी स्थापित करें:

मेरी भी यही समस्या थी। उपर्युक्त समाधानों में से कोई भी मेरे लिए काम नहीं करता है। मुझे समाधान मिला।

प्रारंभ में, मैंने इस तरह से अपना वर्चुअल एनवी बनाया:

sudo apt-get install python3-pip
sudo pip3 install virtualenv 
virtualenv myenv 

यह काम नहीं किया। मैं require.txt स्थापित करने में सक्षम था लेकिन मॉड्यूल आयात नहीं कर सकता। तो मैंने कोशिश की,

virtualenv -p python3 myenv

पर्यावरण का उपयोग करके सक्रिय करें:

source myenv/bin/activate

अब मैंने use.txt का उपयोग कर स्थापित किया है:

pip3 install -r requirements.txt

स्थापना सफल रही और मैं मॉड्यूल आयात करने में सक्षम था।


pip install -r requirements.txt

अधिक जानकारी के लिए कृपया सहायता विकल्प देखें।

pip install --help

हम विकल्प '-r' ढूंढ सकते हैं

-r, - आवश्यकताएं दी गई आवश्यकताओं फ़ाइल से स्थापित करें। इस विकल्प को कई बार इस्तेमाल किया जा सकता है।

कुछ सामान्य रूप से प्रयुक्त पाइप इंस्टॉल विकल्पों पर अधिक जानकारी: (यह पीआईपी इंस्टॉल कमांड पर सहायता विकल्प है)

इसके अलावा उपरोक्त विकल्पों का पूरा सेट है। विकल्पों की पूरी सूची के लिए कृपया पीपी इंस्टॉल --help का उपयोग करें।





pip