GPUtil-Fehler beheben
Verfasst: Montag 7. Oktober 2024, 15:41
Hallo Zusammen,
ich habe ein Pythonskript auf einem USB-Stick an einem Ubuntuserver hängen.
Es hat folgenden Code:
AUf meinem Laptop habe ich ein Anderes SKript welches das Skript auf dem Server aufruft:
Nun bekomme ich die Fehlermeldung: "Fehler beim Ausführen des Skripts: Traceback (most recent call last):
File "/mnt/usb/Daten_auslesen.py", line 7, in <module>
import GPUtil
ModuleNotFoundError: No module named 'GPUtil'
Fehler beim Ausführen des Remote-Skripts. Überprüfe die Verbindung und das Skript. "
Habt Ihr eine Idee wie man den Fehler behebt? GPUtil ist auf beiden Systemen, dem Leptop und dem Server installiert. Auf dem Server in einer virtuellen Umgebung.
ich habe ein Pythonskript auf einem USB-Stick an einem Ubuntuserver hängen.
Es hat folgenden Code:
Code: Alles auswählen
import os
# Activate the virtual environment
activate_script = os.path.join('myenv','bin','activate')
print(f"source {activate_script}")
import psutil
import GPUtil
print("Virtuelle Umgebung gestartet")
def get_system_data():
# Get CPU usage
cpu_usage = psutil.cpu_percent(interval=1)
# Get RAM usage
ram = psutil.virtual_memory()
ram_usage = ram.percent
# Get GPU data
gpus = GPUtil.getGPUs()
gpu_data = []
for gpu in gpus:
gpu_data.append({
'id': gpu.id,
'name': gpu.name,
'load': gpu.load * 100,
'memoryTotal': gpu.memoryTotal,
'memoryUsed': gpu.memoryUsed,
'memoryFree': gpu.memoryFree,
'temperature': gpu.temperature,
'uuid': gpu.uuid
})
return {
'cpu_usage': cpu_usage,
'ram_usage': ram_usage,
'gpu_data': gpu_data
}
if __name__ == "__main__":
system_data = get_system_data()
print(f"System Data: {system_data}")
Code: Alles auswählen
import time
import requests
import paramiko
def execute_remote_script(hostname, port, username, password, script_path):
try:
# Verbindung zum Remote-Server herstellen
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, port=port, username=username, password=password)
# Skript auf dem Remote-Server ausführen
stdin, stdout, stderr = client.exec_command(f'python3 {script_path}')
output = stdout.read().decode()
error = stderr.read().decode()
# Verbindung schließen
client.close()
if error:
print(f"Fehler beim Ausführen des Skripts: {error}")
return None
return output
except Exception as e:
print(f"Fehler bei der Verbindung zum Remote-Server: {e}")
return None
# Remote-Server-Details
REMOTE_HOSTNAME = ""
REMOTE_PORT =
REMOTE_USERNAME = ""
REMOTE_PASSWORD = ""
REMOTE_SCRIPT_PATH = "/mnt/usb/Daten_auslesen.py"
# OpenWebUI API-Details
OPENWEBUI_API_URL = "http://"
OPENWEBUI_API_KEY = "mein key"
def measure_latency_and_response_time(api_url, payload):
start_time = time.time()
try:
response = requests.post(api_url, json=payload, timeout=60) # Timeout auf 30 Sekunden erhöhen
except requests.exceptions.RequestException as e:
print(f"Fehler bei der API-Anfrage: {e}")
return None, None, None
end_time = time.time()
latency = end_time - start_time
response_time = response.elapsed.total_seconds()
return latency, response_time, response.json()
def main():
payload = {
"model": "llama:8b",
"prompt": "1+1"
}
# Remote-Skript auf dem Server ausführen
remote_script_output = execute_remote_script(REMOTE_HOSTNAME, REMOTE_PORT, REMOTE_USERNAME, REMOTE_PASSWORD, REMOTE_SCRIPT_PATH)
if remote_script_output is None:
print("Fehler beim Ausführen des Remote-Skripts. Überprüfe die Verbindung und das Skript.")
return
print(f"Ausgabe des Remote-Skripts: {remote_script_output}")
# Messen der Latenzzeit und Antwortzeit
latency, response_time, result = measure_latency_and_response_time(OPENWEBUI_API_URL, payload)
if latency is None or response_time is None or result is None:
print("Fehler bei der API-Anfrage. Überprüfe die Verbindung und die API-URL.")
return
# Ausgabe der Ergebnisse
print(f"Latenzzeit: {latency} Sekunden")
print(f"Antwortzeit: {response_time} Sekunden")
print(f"API-Antwort: {result}")
if __name__ == "__main__":
main()
File "/mnt/usb/Daten_auslesen.py", line 7, in <module>
import GPUtil
ModuleNotFoundError: No module named 'GPUtil'
Fehler beim Ausführen des Remote-Skripts. Überprüfe die Verbindung und das Skript. "
Habt Ihr eine Idee wie man den Fehler behebt? GPUtil ist auf beiden Systemen, dem Leptop und dem Server installiert. Auf dem Server in einer virtuellen Umgebung.