最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python獲取版本信息的方法與第三方庫總結

 更新時間:2025年11月08日 09:17:00   作者:呆萌的代Ma  
這篇文章主要為大家詳細介紹了python獲取版本信息的方法與第三方庫,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下

運行如下代碼即可:

print(get_python_base_version())
print(get_python_site_packages())

當前版本信息

獲取當前的版本信息如下:

def get_python_base_version():
    """獲取python版本信息"""
    version_dict = {
        "Python版本": sys.version,
        "Python解釋器路徑": sys.executable,
        "版本詳細信息": sys.version_info,
    }
    return version_dict

獲取所有第三方庫

獲取全部的第三方庫:

def get_python_site_packages():
    # 查看Python的包搜索路徑
    logger.debug("Python包搜索路徑:")
    _packet_path: dict = {"第三方庫": {}, '搜索路徑': sys.path}
    try:
        # 獲取所有已安裝的包
        distributions = list(importlib.metadata.distributions())
        distributions.sort(key=lambda dist: dist.metadata["Name"].lower() if dist.metadata["Name"] else "")
        # 獲取site-packages路徑
        site_packages_paths = []
        try:
            site_packages_paths = site.getsitepackages()
        except:
            site_packages_paths = [p for p in sys.path if 'site-packages' in p]

        user_site_packages = site.getusersitepackages()
        all_third_party_paths = site_packages_paths + [user_site_packages]

        displayed_packages = set()  # 避免重復顯示

        for dist in distributions:
            package_name = dist.metadata["Name"]
            if not package_name or package_name in displayed_packages:
                continue

            displayed_packages.add(package_name)
            # 直接檢查dist的路徑屬性
            dist_location = None
            try:
                # 對于某些版本的importlib.metadata,可以直接獲取路徑
                if hasattr(dist, '_path'):
                    dist_location = str(dist._path.parent)
            except:
                pass
            # 如果無法直接獲取,嘗試通過文件推斷
            if not dist_location and dist.files:
                for file in dist.files:
                    if file.parent:
                        file_path = str(file.parent)
                        for third_party_path in all_third_party_paths:
                            if third_party_path in file_path:
                                dist_location = third_party_path
                                break
                    if dist_location:
                        break
            # 如果在第三方包路徑中,則顯示
            if dist_location and any(tp_path in dist_location for tp_path in all_third_party_paths):
                _packet_path["第三方庫"][package_name] = dist_location
    except Exception as e:
        logger.error(f"獲取包信息時出錯: {e}")
    return _packet_path

方法補充

使用sys.version_info獲取結構化版本信息

sys.version_info 返回一個命名元組( sys.versioninfo ),其中包含主版本號、次版本號、微版本號、發(fā)布狀態(tài)和構建序號。該元組可以通過索引或命名屬性訪問。

示例代碼:

import sys
 
print(sys.version_info)

輸出示例:

sys.version_info(major=3, minor=11, micro=4, releaselevel='final', serial=0)

逐行解釋與參數(shù)說明:

  • print(sys.version_info) :打印結構化版本信息;
  • major :主版本號;
  • minor :次版本號;
  • micro :微版本號;
  • releaselevel :發(fā)布狀態(tài),如 ‘alpha’、’beta’、’final’;
  • serial :構建序號,用于區(qū)分同一版本的不同構建。

由于 sys.version_info 是結構化的數(shù)據,因此非常適合用于版本比較、條件判斷等邏輯處理。

使用sys.version獲取完整版本字符串

sys.version 返回一個字符串,表示當前 Python 解釋器的完整版本信息。其內容通常包括:

  • 主版本號;
  • 次版本號;
  • 微版本號;
  • 構建信息(編譯時間、編譯器版本等);
  • 解釋器類型(如 CPython、PyPy 等)。

示例代碼:

import sys
 
print(sys.version)

輸出示例:

3.11.4 (tags/v3.11.4:d2340ef, Jun  6 2023, 20:54:21) [MSC v.1934 64 bit (AMD64)]

逐行解釋與參數(shù)說明:

  • import sys :導入 sys 模塊;
  • print(sys.version) :打印當前 Python 的版本字符串。

此輸出包含了詳細的版本信息,適合用于調試、日志記錄等場景。但因為是字符串格式,不適合用于版本比較或條件判斷。

到此這篇關于python獲取版本信息的方法與第三方庫總結的文章就介紹到這了,更多相關python獲取版本信息內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python離散建模之感知器學習算法

    python離散建模之感知器學習算法

    這篇文章主要介紹了python離散建模之感知器學習算法,感知機學習算法是支持向量機的基礎,支持向量機通過核函數(shù)進行非線性分類,支持向量機也是感知機算法的延伸,下面就來介紹感知算法的相關內容,需要的小伙伴可以參考一下
    2022-02-02
  • pytest配置文件pytest.ini的詳細使用

    pytest配置文件pytest.ini的詳細使用

    這篇文章主要介紹了pytest配置文件pytest.ini的詳細使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • python新手經常遇到的17個錯誤分析

    python新手經常遇到的17個錯誤分析

    這篇文章主要介紹了python新手經常遇到的17個錯誤分析,需要的朋友可以參考下
    2014-07-07
  • python3爬蟲中多線程進行解鎖操作實例

    python3爬蟲中多線程進行解鎖操作實例

    在本篇文章里小編給大家整理了關于python3爬蟲中多線程進行解鎖操作實例內容,需要的朋友們可以參考下。
    2020-11-11
  • 關于Python中進度條的六個實用技巧分享

    關于Python中進度條的六個實用技巧分享

    在項目開發(fā)過程中加載、啟動、下載項目難免會用到進度條,下面這篇文章主要給大家介紹了關于Python中進度條的六個實用技巧,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Python中的JMESPath庫示例詳解

    Python中的JMESPath庫示例詳解

    這篇文章主要介紹了Python中的JMESPath庫示例詳解,JMESPath的基本思想是使用類似于XPath的路徑表達式來指定要從JSON結構中提取哪些數(shù)據,它允許您以一致的方式導航和過濾JSON對象和數(shù)組,需要的朋友可以參考下
    2023-09-09
  • python發(fā)送byte數(shù)據組到tcp的server問題

    python發(fā)送byte數(shù)據組到tcp的server問題

    這篇文章主要介紹了python發(fā)送byte數(shù)據組到tcp的server問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python實現(xiàn)Window路徑格式轉換為Linux路徑格式的代碼

    Python實現(xiàn)Window路徑格式轉換為Linux路徑格式的代碼

    這篇文章主要介紹了Python實現(xiàn)Window路徑格式轉換為Linux路徑格式的方法,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • Python?Pandas實現(xiàn)將字符串格式轉為日期時間格式

    Python?Pandas實現(xiàn)將字符串格式轉為日期時間格式

    日期和時間數(shù)據在數(shù)據分析和處理中起著關鍵作用,本文將詳細介紹如何使用Pandas將字符串格式的日期時間數(shù)據轉換為日期時間格式,需要的可以參考下
    2024-01-01
  • python如何編寫類似nmap的掃描工具

    python如何編寫類似nmap的掃描工具

    這篇文章主要介紹了python如何編寫類似nmap的掃描工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論

封开县| 平和县| 报价| 博白县| 大庆市| 中西区| 永平县| 积石山| 上杭县| 孝感市| 大理市| 新丰县| 东方市| 莆田市| 偃师市| 兴安县| 阆中市| 安顺市| 麦盖提县| 永新县| 芦溪县| 夏津县| 楚雄市| 丹寨县| 定结县| 乡城县| 旺苍县| 安丘市| 鄂尔多斯市| 泽库县| 定安县| 余江县| 和林格尔县| 兴海县| 安陆市| 屏东市| 南宁市| 准格尔旗| 杭锦旗| 大竹县| 怀安县|