Ubuntu에 설치된 패키지 목록과 패키지 버전을 가져오는 Python 코드가 있습니까? 나는 Python 코드를 보았습니다.수동으로 설치된 패키지 목록 생성 및 각 패키지 쿼리. 그러나 버전 ID 목록이 없습니다. 설치된 패키지의 버전을 얻는 방법을 아는 사람이 있습니까?
답변1
이에 대한 기존 코드가 있는지 확실하지 않습니다. 하지만 문서를 보면 알 수 있습니다 /var/lib/dpkg/status
. 설치된 패키지에 대한 모든 정보는 이 파일에 저장됩니다.
Python에 능숙하지 않더라도 이 파일을 구문 분석하는 코드를 작성하는 것은 매우 쉽습니다.
답변2
이것이 askubuntu로 마이그레이션되어서는 안되는지 확실하지 않지만 위 스레드에서와 동일한 방법을 사용하십시오. dpkg/dpkg-query를 실행하여 모든 데이터의 덤프를 가져오고 표준 Python 구문 분석 메커니즘을 사용하여 관련 정보를 추출합니다.
물론 이미 분기했으므로 bash 자체에서 모든 텍스트 수정을 수행할 수 있습니다.
또는 버전이 포함된 상태 파일("Dir::Etc::Status"?)이 있는 경우 이를 찾습니다. 이 방법이 가장 깨끗합니다.
답변3
-F
( --format
) 옵션을 aptitude에 전달합니다 .표시되는 필드 지정.
aptitude --disable-columns -F '%p %v' search '~A'
Python에서는 packages apt_pkg
의 모듈을 사용합니다 python-apt
.