यह संस्करण जानकारी है, बस का उपयोग .version
:
In [4]: pyodbc.version
Out[4]: '3.0.10'
पीआईपी शो कमांड भी आपके लिए यह प्राप्त करेगा:
In [54]: pip.main(["show","pyodbc"])
---
Metadata-Version: 1.1
Name: pyodbc
Version: 3.0.10
Summary: DB API Module for ODBC
Home-page: http://code.google.com/p/pyodbc
Author: Michael Kleehammer
Author-email: [email protected]
License: MIT
Location: /usr/local/lib/python2.7/dist-packages
Requires:
Classifiers:
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
Intended Audience :: System Administrators
License :: OSI Approved :: MIT License
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 3
Topic :: Database
Out[54]: 0
आप stdout अनुप्रेषित और उत्पादन को पार्स सकता है:
import pip
import sys
if sys.version_info.major >= 3:
from io import StringIO
else:
from StringIO import StringIO
def get_version(package):
f = StringIO()
sys.stdout = f
pip.main(["show", package])
sys.stdout = sys.__stdout__
return next((line.split(":", 1)[1].strip()
for line in f.getvalue().splitlines() if line.startswith("Version")), "No match")
लेकिन एक आसान तरीका pkg_resources
उपयोग करने के लिए, यदि आप show के लिए स्रोत पर देखने के है, आप देख सकते हैं कि यह कैसे एकत्र की जाती है:
In [57]: get_version("pyodbc")
Out[57]: '3.0.10'
In [58]: get_version("pandas")
Out[58]: '0.17.1'
In [59]: get_version("requests")
Out[59]: '2.9.1'
In [60]: get_version("foobar")
Out[60]: 'No match'
:
from pip._vendor import pkg_resources
def get_version(package):
package = package.lower()
return next((p.version for p in pkg_resources.working_set if p.project_name.lower() == package), "No match")
यह सिर्फ पैकेज का नाम पारित उपयोग करने के लिए
शो कमांड के समान तर्क का उपयोग करके आप अलग-अलग जानकारी प्राप्त करने के लिए इसे आसानी से बढ़ा सकते हैं।
स्रोत
2016-03-29 12:08:14
grep 'cmd' से काम करता है? –
हाहा क्षमा करें, केवल लिनक्स – qvpham
के लिए और मुझे लगता था कि मैंने एक नई खोज की है;) –