पाइप अपने पैकेजों को कहां स्थापित करता है?


323

मैंने एक virtualenv सक्रिय किया है जिसमें पाइप स्थापित है। मैंने किया

pip3 install Django==1.8

और Django सफलतापूर्वक डाउनलोड किया। अब, मैं Django फ़ोल्डर को खोलना चाहता हूं। फ़ोल्डर कहाँ स्थित है? आम तौर पर यह "डाउनलोड" में होता है, लेकिन मुझे यकीन नहीं है कि अगर मैं इसे एक virtualenv में पाइप का उपयोग करके स्थापित करता हूं तो यह कहां होगा।


1
क्या वह निर्देशिका जिसमें संकुल को स्थापित करने के लिए सीएलआई आर्ग, पर्यावरण चर या एक विन्यास फाइल के माध्यम से ओवरराइड किया जा सकता है?
जॉन कैरेल

जवाबों:


108

जब virtualenv के साथ प्रयोग किया जाता है तो पाइप आमतौर पर पथ में पैकेज स्थापित करेगा <virtualenv_name>/lib/<python_ver>/site-packages

उदाहरण के लिए, मैंने पायथन 2.7 के साथ venv_test नामक एक टेस्ट वर्चुअन बनाया , और फ़ोल्डर अंदर है ।djangovenv_test/lib/python2.7/site-packages/django


1
कभी-कभी आप virtualenv नाम / पथ को नहीं जान सकते हैं, जैसे कि Jupyterhub / binderhub spawned संसाधनों के साथ उपयोग करना। मुझे कुछ नहीं होने पर काम करने के लिए यहां # 1 रास्ता मिला pip show। संक्षेप में, इसमें उचित अजगर कंसोल और टाइपिंग दर्ज करना शामिल है help("module_name"), जहां module_nameवास्तविक मॉड्यूल नाम के साथ प्रतिस्थापित किया जाता है जिसमें आप रुचि रखते हैं। आप help("modules")अजगर कंसोल के साथ स्थापित मॉड्यूल देख सकते हैं ।
वेन

1
किस तरह से आपने अपना वर्चस्व बनाया? मैं अपने वर्चुअल वातावरण को बनाने के लिए conda का उपयोग कर रहा हूं, जबकि pip3 ने आपके द्वारा बताए गए फ़ोल्डर में पैकेज स्थापित नहीं किया है
बादलों का व्यापार

उस समय (लगभग 4 साल पहले), मैं virtualenv और Python 2.x का उपयोग कर रहा था । अब, मैं venv और Python 3.5.x का उपयोग कर रहा हूँ। मुझे अभी भी वही सामान्य फ़ोल्डर संरचना मिलती है, हालाँकि। एनाकोंडा के साथ, यह एक क्यूरेट, अलग वितरण है, इसलिए यह चीजों को अलग-अलग तरीके से संरचना कर सकता है, कम से कम भाग में।
खम्पसन

582

लोकप्रिय मांग से, पोस्ट किए गए उत्तर के माध्यम से प्रदान किया गया विकल्प:

pip show <package name>Windows और macOS के लिए स्थान प्रदान करेगा, और मैं किसी भी प्रणाली का अनुमान लगा रहा हूं। :)

उदाहरण के लिए:

> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages

15
मैक पर यह मुझे awscli स्रोत कोड के साथ एक निर्देशिका दिखाया, लेकिन कोई बाइनरी नहीं। : /
कोरी क्लेन

8
सही, लेकिन पूछे गए सवाल का पूरी तरह से पालन करने के लिए, यह होना चाहिएpip3 show <package name>
जॉर्ज टोरेस

1
मैं खिड़कियों पर अजगर 3.6 का उपयोग कर रहा हूं और "पाईप" को अजगर 3. के लिए पाइप करता है।
FistOfFury

7
@CoryKlein के बजाय site-packages/, मैंने इसे पाया~/Library/Python/3.7/bin/
मैट फ्लेचर


47

pip list -vhttps://pip.pypa.io/en/stable/news/#b1-2018-03-31 में पेश किए गए पैकेजों को स्थापित करने के लिए सूचीबद्ध किया जा सकता है

जब सूची कमांड "-v" विकल्प के साथ चलती है, तो इंस्टॉल लोकेशन दिखाएं। (# 979)

>pip list -v
Package                  Version   Location                                                             Installer
------------------------ --------- -------------------------------------------------------------------- ---------
alabaster                0.7.12    c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
apipkg                   1.5       c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
argcomplete              1.10.3    c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
astroid                  2.3.3     c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
...

अपडेट : यह फीचर pip10.0.0b1 में पेश किया गया है। उबंटू 18.04 पर, pipया इसके pip3साथ स्थापित sudo apt install python-pipया sudo apt install python3-pip9.0.1 है जिसमें यह सुविधा नहीं है। चेक https://github.com/pypa/pip/issues/5599 उन्नयन का उपयुक्त तरीके के लिए pipया pip3


4
दुर्भाग्य से, यह उबंटू 18.04LTS पर काम नहीं करता है
सुमंत लाजर

3
मेरे लिए, यह इंस्‍टॉल लोकेशन (लिनक्स मिंट 19.3 पर) नहीं दिखाता है
निकोलई वीटकेपर

का pipउपयोग sudo apt install python-pipकर स्थापित या sudo apt install python3-pip9.0.1 है। उन्नयन के उपयुक्त तरीकों के लिए github.com/pypa/pip/issues/5599 की जाँच करें pipया pip3
जसली

11

डिफ़ॉल्ट रूप से, लिनक्स पर, Pip /usr/local/lib/python2.7/dist-packages पर पैकेज स्थापित करता है।

इंस्टॉल के दौरान virtualenv या --user का उपयोग करने से यह डिफ़ॉल्ट स्थान बदल जाएगा। यदि आप उपयोग करते हैं pip showतो सुनिश्चित करें कि आप सही उपयोगकर्ता का उपयोग कर रहे हैं या फिर pipउन पैकेजों को नहीं देख सकते हैं जिन्हें आप संदर्भित कर रहे हैं।


7

एक पायथन दुभाषिया या स्क्रिप्ट में, आप कर सकते हैं

import site
site.getsitepackages() # list of global package locations

तथा

site.getusersitepackages() #string for user-specific package location

थ्री पार्टी पैकेज के लिए (कोर पायथन वितरण में नहीं) उन लोगों के लिए स्थापित हैं।

MacOS पर मेरे ब्रू-इंस्टॉल किए गए पायथन पर, पूर्व आउटपुट

['/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'],

pip showजैसा कि पिछले उत्तर में बताया गया है , उसी पथ आउटपुट के लिए canonicalizes :

$ readlink -f /usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
/usr/local/lib/python3.7/site-packages

संदर्भ: https://docs.python.org/3/library/site.html#site.getsitepackages

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.