簡體   English   中英

“rpm -qf”的等價物是什么<FILE> &quot; 使用 Python rpm 庫?

[英]What's the equivalent for "rpm -qf <FILE>" with the Python rpm library?

# rpm -qf /usr/lib64/python3.7/site-packages/six.py
python3-six-1.12.0-r0

如何使用Python查詢文件屬於哪個包?

我本來是要說Google的,但實際上並沒有返回結果。 我想這是解決問題/提出問題的非常不合常規的方法。

Python默認使用pip安裝軟件包。 此處找到文檔

另一個選項是easy_install ,許多人建議通過conda ,這需要Anaconda並需要更多設置,但需要管理一個不錯的受控Python環境來管理其中的版本。

Google應該向您顯示這些內容。

我還沒有找到對 rpm 數據庫的直接調用,該調用返回提供給定文件的包,所以我現在更好的解決方案如下:

#!/usr/bin/env python3

import rpm

CHECK_FILE = "/usr/lib/python3.9/site-packages/six.py"

ts = rpm.TransactionSet()
mi = ts.dbMatch()
for h in mi:
    files = h['FILENAMES']
    if CHECK_FILE in files:
        print("{}-{}-{}".format(h['name'], h['version'], h['release']))
        break

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM