2012-04-18 8 views
410

पाइप का उपयोग करना, क्या यह पता लगाना संभव है कि पैकेज का कौन सा संस्करण वर्तमान में स्थापित है?पाइप का उपयोग करके पैकेज का कौन सा संस्करण स्थापित किया गया है

मुझे pip install XYZ --upgrade के बारे में पता है, लेकिन मुझे आश्चर्य है कि pip info XYZ जैसी कोई चीज़ है या नहीं। यदि नहीं, तो यह बताने का सबसे अच्छा तरीका क्या होगा कि मैं वर्तमान में किस संस्करण का उपयोग कर रहा हूं।

+4

वहाँ एक के लिए एक प्रस्ताव है पीआईपी में 'शो' कमांड: प्रसाद ps: //github.com/pypa/pip/issues/33 –

उत्तर

532

pip 1.3 के रूप में, pip show कमांड है।

$ pip show Jinja2 
--- 
Name: Jinja2 
Version: 2.7.3 
Location: /path/to/virtualenv/lib/python2.7/site-packages 
Requires: markupsafe 

पुराने संस्करणों में, pip freeze और grep अच्छी तरह से काम करना चाहिए।

$ pip freeze | grep Jinja2 
Jinja2==2.7.3 
+6

'पीआईपी फ्रीज' कमांड नाम अजीब है। –

+4

@techtonik: यह [freezing वर्तमान मॉड्यूल] के लिए है (http://www.pip-installer.org/en/1.1/requirements.html) एक requirement.txt पर। – Hugo

+0

@ ह्यूगो: मैं 'सेव' नाम का उपयोग करूंगा। –

13

तुम भी yolk स्थापित कर सकते हैं और फिर yolk -l जो भी कुछ अच्छा उत्पादन देता है चलाते हैं। यहाँ मैं मेरी छोटी virtualenv के लिए क्या मिलता है:

(venv)CWD> /space/vhosts/pyramid.xcode.com/venv/build/unittest 
[email protected] 43> yolk -l 
Chameleon  - 2.8.2  - active 
Jinja2   - 2.6   - active 
Mako   - 0.7.0  - active 
MarkupSafe  - 0.15   - active 
PasteDeploy  - 1.5.0  - active 
Pygments  - 1.5   - active 
Python   - 2.7.3  - active development (/usr/lib/python2.7/lib-dynload) 
SQLAlchemy  - 0.7.6  - active 
WebOb   - 1.2b3  - active 
account   - 0.0   - active development (/space/vhosts/pyramid.xcode.com/project/account) 
distribute  - 0.6.19  - active 
egenix-mx-base - 3.2.3  - active 
ipython   - 0.12   - active 
logilab-astng - 0.23.1  - active 
logilab-common - 0.57.1  - active 
nose   - 1.1.2  - active 
pbkdf2   - 1.3   - active 
pip    - 1.0.2  - active 
pyScss   - 1.1.3  - active 
pycrypto  - 2.5   - active 
pylint   - 0.25.1  - active 
pyramid-debugtoolbar - 1.0.1  - active 
pyramid-tm  - 0.4   - active 
pyramid   - 1.3   - active 
repoze.lru  - 0.5   - active 
simplejson  - 2.5.0  - active 
transaction  - 1.2.0  - active 
translationstring - 1.1   - active 
venusian  - 1.0a3  - active 
waitress  - 0.8.1  - active 
wsgiref   - 0.1.2  - active development (/usr/lib/python2.7) 
yolk   - 0.4.3  - active 
zope.deprecation - 3.5.1  - active 
zope.interface - 3.8.0  - active 
zope.sqlalchemy - 0.7   - active 
51

मैं सिर्फ वृद्धि ह्यूगो Tavares कहा साथ पिप में एक पुल अनुरोध भेजा:

(उदाहरण के रूप में specloud)

$ pip show specloud 

Package: specloud 
Version: 0.4.4 
Requires: 
nose 
figleaf 
pinocchio 
+1

यह [मेरे लिए काम नहीं करता] (http://stackoverflow.com/q/14060043/656912) मेरे लिए। – orome

+1

हाँ जाहिर है। यह एक * पुल अनुरोध * है, यानी वह चाहता है कि वह पाइप के रखरखाव को अपने परिवर्तनों को मर्ज किए गए आदेश को मर्ज करें। – dom0

+1

ऐसा लगता है कि यह [विलय] है (http://www.pip-installer.org/en/latest/usage.html#pip-show) पहले से ही। –

26

पिप 1.3 अब भी एक list आदेश दिया गया है:

$ pip list 
argparse (1.2.1) 
pip (1.5.1) 
setuptools (2.1) 
wsgiref (0.1.2) 
21

और साथ एक अतिरिक्त तर्क के रूप में --outdated, आप संकुल की वर्तमान और नवीनतम संस्करण मिल जाएगा आप उपयोग कर रहे:

$ pip list --outdated 
distribute (Current: 0.6.34 Latest: 0.7.3) 
django-bootstrap3 (Current: 1.1.0 Latest: 4.3.0) 
Django (Current: 1.5.4 Latest: 1.6.4) 
Jinja2 (Current: 2.6 Latest: 2.8) 

तो AdamKG के जवाब के साथ संयोजन:

$ pip list --outdated | grep Jinja2 
Jinja2 (Current: 2.6 Latest: 2.8) 

चेक पिप-उपकरण भी: https://github.com/nvie/pip-tools

+1

विलय हो गया है एक दिलचस्प विकल्प। मैं इसे सभी की सूची दूंगा, और अगर उनमें से कोई भी पुराना हो, तो मुझे बताएं। – ArtOfWarfare

2

सबसे आसान तरीका यह है:

import jinja2 
print jinja2.__version__ 
+4

यह केवल उन संकुलों के लिए काम करता है जिन्होंने अपने स्रोत कोड में '__version__' को परिभाषित किया है। कई पैकेज नहीं करते हैं। – spookylukey

5

आप पता लगाने के लिए grep कमांड का उपयोग कर सकते हैं।

pip show <package_name>|grep Version 

उदाहरण:

pip show urllib3|grep Version 

केवल संस्करण दिखाई देगा।

मेटाडाटा-संस्करण: 2.0
संस्करण: 1,12

4

आप और जैसे संकुल की एक सूची उनके संस्करणों, प्राप्त कर सकते हैं:

pip list 

आउटपुट:

appdirs (1.4.3) 
BeautifulSoup (3.2. 
beautifulsoup4 (4.6 
certifi (2017.4.17) 
chardet (3.0.4) 
cookies (2.2.1) 
dj-database-url (0. 
Django (1.10.4) 
django-allauth (0.3 
django-filter (1.0. 
django-haystack (2. 
django-oauth-toolki 
django-recaptcha (1 
djangorestframework 
djangorestframework 
funcsigs (1.0.2) 
gunicorn (19.7.1) 
idna (2.5) 
Jinja2 (2.9.6) 
Markdown (2.6.8) 
MarkupSafe (1.0) 
mock (2.0.0) 
MySQL-python (1.2.5 
numpy (1.13.1) 
oauthlib (2.0.2) 
packaging (16.8) 
pandas (0.20.3) 
pbr (3.1.1) 
pep8 (1.7.0) 
pip (9.0.1) 
psycopg2 (2.7.1) 
PyJWT (1.5.2) 
pyparsing (2.2.0) 
python-dateutil (2. 
python-decouple (3. 
python-openid (2.2. 
pytz (2017.2) 
requests (2.18.1) 
requests-oauthlib (
responses (0.5.1) 
setuptools (35.0.1) 
six (1.10.0) 
social-auth-app-dja 
social-auth-core (1 
urllib3 (1.21.1) 
virtualenv (15.1.0) 
wheel (0.29.0) 
whitenoise (3.3.0) 
0

खिड़कियों पर, आप जारी कर सकते हैं कमान जैसे:

pip show setuptools | findstr "Version" 

आउटपुट:

Version: 34.1.1 
संबंधित मुद्दे