python - Easy_install/pip के साथ स्थापित सभी संकुल खोजें?




easy-install pypi (10)

क्या सभी पायथन पीपीपीआई पैकेज खोजने का कोई तरीका है जो easy_install या pip के साथ स्थापित किए गए थे? मेरा मतलब है, वितरण उपकरण के साथ स्थापित / स्थापित किया गया सब कुछ छोड़कर (इस मामले में डेबियन पर उपयुक्त है)।


@ पॉल वूलकॉक के जवाब में जोड़ना,

$ pip freeze > requirements.txt

मौजूदा स्थान पर सक्रिय वातावरण में सभी स्थापित संकुल के साथ एक आवश्यकता फ़ाइल बनायेगा जिसे आप चला सकते हैं

$ pip install -r requirements.txt

किसी अन्य वातावरण में आवश्यकताओं को स्थापित करने के लिए।


अगर कोई सोच रहा है कि आप 'पीआईपी शो' कमांड का उपयोग कर सकते हैं।

pip show [options] <package>

यह दिए गए पैकेज की इंस्टॉल निर्देशिका सूचीबद्ध करेगा।


के साथ शुरू:

$ pip list

सभी संकुलों को सूचीबद्ध करने के लिए। एक बार जब आपको वह पैकेज मिल जाए जो आप चाहते हैं, तो इसका उपयोग करें:

$ pip show <package-name>

यह आपको इस फ़ोल्डर के बारे में विवरण दिखाएगा, जिसमें इसके फ़ोल्डर भी शामिल हैं। यदि आप पहले ही पैकेज नाम जानते हैं तो आप पहले भाग को छोड़ सकते हैं

पाइप शो पर अधिक जानकारी के लिए here क्लिक here और https://pip.pypa.io/en/latest/reference/pip_list/ पीपी सूची पर अधिक जानकारी के लिए।

उदाहरण:

$ pip show jupyter
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: [email protected]
License: BSD
Location: /usr/local/lib/python2.7/site-packages
Requires: ipywidgets, nbconvert, notebook, jupyter-console, qtconsole, ipykernel    

ध्यान दें कि यदि आपके कंप्यूटर पर पाइथन के कई संस्करण स्थापित हैं, तो आपके पास प्रत्येक के साथ जुड़े पाइप के कुछ संस्करण हो सकते हैं।

आपके संगठनों के आधार पर, आपको इस बात का बहुत सावधान रहना पड़ सकता है कि आप किस पीपी कमांड का उपयोग करते हैं:

pip3 list 

मेरे लिए काम किया, जहां मैं पाइथन 3.4 चला रहा हूँ। बस pip list का उपयोग करके त्रुटि लौटा दी The program 'pip' is currently not installed. You can install it by typing: sudo apt-get install python-pip The program 'pip' is currently not installed. You can install it by typing: sudo apt-get install python-pip


पाइप फ्रीज सभी स्थापित संकुल सूचीबद्ध करता है भले ही पीपी / easy_install द्वारा नहीं। Cento / Redhat पर आरपीएम के माध्यम से स्थापित एक पैकेज पाया जाता है।


पीआईपी के संस्करण 1.3 के रूप में आप अब pip list उपयोग कर सकते हैं

इसमें पुराने पैकेज दिखाने की क्षमता सहित कुछ उपयोगी विकल्प हैं। यहां प्रलेखन है: https://pip.pypa.io/en/latest/reference/pip_list/


फेडोरा या अन्य आरपीएम डिस्ट्रोज़ के लिए एक लाइनर है (@barraponto युक्तियों के आधार पर):

find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs rpm -qf | grep 'not owned by any package'

क्लीनर आउटपुट प्राप्त करने के लिए इसे पिछले कमांड में संलग्न करें:

 | sed -r 's:.*/(\w+)/__.*:\1:'

यदि डेबियन pip install डिफ़ॉल्ट लक्ष्य के संबंध में हाल ही में उबंटू संस्करणों की तरह व्यवहार करता है, तो यह आसान है: यह /usr/local/lib/ apt डिफ़ॉल्ट लक्ष्य के बजाय /usr/local/lib/ स्थापित होता है। https://askubuntu.com/questions/173323/how-do-i-detect-and-remove-python-packages-installed-via-pip/259747#259747

मैं एक आर्कलिंक्स उपयोगकर्ता हूं और जैसा कि मैंने पीआईपी के साथ प्रयोग किया था, मैंने इसी समस्या से मुलाकात की। यहां बताया गया है कि मैंने इसे आर्क में कैसे हल किया।

find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs pacman -Qo | grep 'No package'

कुंजी यहां /usr/lib/python2.7/site-packages , जो निर्देशिका पीआईपी स्थापित करता है, वाईएमएमवी। pacman -Qo है कि कैसे आर्क के पीएसी pacman -Qo आदमी ager फ़ाइल के स्वामित्व के लिए जाँच करता है। No package उस रिटर्न का हिस्सा नहीं है जब कोई पैकेज फ़ाइल का मालिक नहीं होता है: error: No package owns $FILENAME । ट्रिकी वर्कअराउंड: मैं __init__.py बारे में पूछताछ कर रहा हूं क्योंकि निर्देशिका में आने पर pacman -Qo थोड़ा अज्ञान है :(

अन्य डिस्ट्रोज़ के लिए इसे करने के लिए, आपको यह पता लगाना होगा कि pip कहां स्थापित करता है (बस sudo pip install कुछ sudo pip install ), फ़ाइल के स्वामित्व को कैसे पूछताछ करें (डेबियन / उबंटू विधि dpkg -S ) है और "पैकेज नहीं है उस पथ का मालिक है "वापसी (डेबियन / उबंटू no path found matching pattern )। डेबियन / उबंटू उपयोगकर्ता, सावधान रहें: dpkg -S विफल हो जाएगा यदि आप इसे एक प्रतीकात्मक लिंक देते हैं। realpath का उपयोग कर इसे पहले हल करें। इस कदर:

find /usr/local/lib/python2.7/dist-packages -maxdepth 2 -name __init__.py | xargs realpath | xargs dpkg -S 2>&1 | grep 'no path found'

फेडोरा उपयोगकर्ता कोशिश कर सकते हैं (धन्यवाद @eddygeek):

find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs rpm -qf | grep 'not owned by any package'

pip.get_installed_distributions() स्थापित संकुलों की एक सूची देगा

import pip
from os.path import join

for package in pip.get_installed_distributions():
    print(package.location) # you can exclude packages that's in /usr/XXX
    print(join(package.location, package._get_metadata("top_level.txt"))) # root directory of this package

site-packages/ (और dist-packages/ यदि यह मौजूद है) में सभी फ़ाइल / फ़ोल्डर नाम प्राप्त करें, और पैकेज के माध्यम से स्थापित किए गए लोगों को पट्टी करने के लिए अपने पैकेज प्रबंधक का उपयोग करें।





pypi