빠른 버전 (패키지 확인 만)
아래 코드는와 같은 사용할 수없는 버전으로 패키지를 호출합니다 pip install package_name==random
. 호출은 사용 가능한 모든 버전을 반환합니다. 이 프로그램은 최신 버전을 읽습니다.
그런 다음 프로그램이 실행 pip show package_name
되고 패키지의 현재 버전을 가져옵니다.
일치하는 것을 찾으면 True를, 그렇지 않으면 False를 반환합니다.
이것은 신뢰할 수있는 옵션입니다. pip
import subprocess
import sys
def check(name):
latest_version = str(subprocess.run([sys.executable, '-m', 'pip', 'install', '{}==random'.format(name)], capture_output=True, text=True))
latest_version = latest_version[latest_version.find('(from versions:')+15:]
latest_version = latest_version[:latest_version.find(')')]
latest_version = latest_version.replace(' ','').split(',')[-1]
current_version = str(subprocess.run([sys.executable, '-m', 'pip', 'show', '{}'.format(name)], capture_output=True, text=True))
current_version = current_version[current_version.find('Version:')+8:]
current_version = current_version[:current_version.find('\\n')].replace(' ','')
if latest_version == current_version:
return True
else:
return False
다음 코드는 다음을 호출합니다 pip list --outdated
.
import subprocess
import sys
def check(name):
reqs = subprocess.check_output([sys.executable, '-m', 'pip', 'list','--outdated'])
outdated_packages = [r.decode().split('==')[0] for r in reqs.split()]
return name in outdated_packages