Schnelle Version (nur das Paket überprüfen)
Der folgende Code ruft das Paket mit einer nicht verfügbaren Version wie auf pip install package_name==random
. Der Aufruf gibt alle verfügbaren Versionen zurück. Das Programm liest die neueste Version.
Das Programm wird dann ausgeführt pip show package_name
und erhält die aktuelle Version des Pakets.
Wenn eine Übereinstimmung gefunden wird, wird True zurückgegeben, andernfalls False.
Dies ist eine zuverlässige Option, da sie aktiviert ist 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
Der folgende Code erfordert 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