How can I get the version defined in setup.py (setuptools) in my package?

前端 未结 16 786
无人及你
无人及你 2020-11-27 09:47

How could I get the version defined in setup.py from my package (for --version, or other purposes)?

16条回答
  •  挽巷
    挽巷 (楼主)
    2020-11-27 10:27

    Now this is gross and needs some refining (there may even be an uncovered member call in pkg_resources that I missed), but I simply do not see why this doesn't work, nor why no one has suggested it to date (Googling around has not turned this up)...note that this is Python 2.x, and would require requiring pkg_resources (sigh):

    import pkg_resources
    
    version_string = None
    try:
        if pkg_resources.working_set is not None:
            disto_obj = pkg_resources.working_set.by_key.get('', None)
            # (I like adding ", None" to gets)
            if disto_obj is not None:
                version_string = disto_obj.version
    except Exception:
        # Do something
        pass
    

提交回复
热议问题