[英]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.