मैं बहुत सारे सिस्टम के साथ काम करता हूं जो डेवलपर्स द्वारा "इंटरनेट पर पाए जाने वाले निर्देशों का पालन करते हुए" किया गया है। यह बेहद आम है कि आपके 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-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 संस्करण है, "यदि आपने इसे नहीं तोड़ा है और आप इसके चारों ओर काम कर सकते हैं, तो इसे ठीक करने का प्रयास न करें।"
--no-index
इसका उपयोग करने की कोशिश की है ताकि यह PyPI को भी न देख पाए?