2016-07-25 11 views
1

Ich habe den folgenden Code, um eine Ausnahme auszulösen, wenn pyserial Version ist weniger als 2,7, wie führe ich programmatisch pip install pyserial --upgrade laufen automatisch auf die neueste Version zu aktualisieren und sicherzustellen, dass es korrekt installiert?Wie wird pyserial automatisch auf latesT aktualisiert?

if py_ser_ver < 2.7: 
     raise StandardError("PySerial version 2.7 or greater is required. Your version is: " + serial.VERSION) 
+0

IMHO Was Sie tun, ist die beste Option. Auot Update ist nicht gut, wenn der Benutzer keine Möglichkeit hat, es zu deaktivieren. – RedX

Antwort

-1

Verwendung os.system ('python -m pip installieren pyserial --upgrade') oder verwenden subprocess

Dann, sobald die Installation abgeschlossen ist, überprüfen Befehl python -m pip-Liste. Dies funktioniert auch, wenn Pip nicht im Pfad ist.

import os 
import subprocess 

a = os.system('python -m pip install pyserial --upgrade') 
if a == 0: 
    d = subprocess.Popen('python -m pip list', stdout = subprocess.PIPE).communicate() 
    if 'pyserial' in d[0]: 
     print 'success' 
+0

Dies funktioniert nicht, wenn pip nicht im Pfad ist (es ist nicht auf meinem System zum Beispiel) und Sie sind nicht hinter einem Proxy. – RedX

+0

@RedX meine Antwort auf Python -m Pip geändert, wird dies auch funktionieren, wenn Pip nicht im Pfad ist. –

+0

Jetzt muss Python im Pfad sein. – RedX

Verwandte Themen