Python Fehler - wie beseitigen?

M

MiStErJaC

Aktives Mitglied
Thread Starter
Dabei seit
03.02.2008
Beiträge
4.193
Reaktionspunkte
191
Hi, ich habe ein Script bekommen, das bei mir einfach nicht funktionieren möchte. Der Kollege hat das Script auf Windows erstellt, bei ihm geht es, aber keine Ahnung woran es liegt... Kann vielleicht jemand aus dem unteren herauslesen was das Problem ist? Gibt es hier ein Problem mit random?

Vielen Dank!

Traceback (most recent call last):

File "/Users/jacobsamuel/Downloads/pumpkin/photoshop_script.py", line 84, in <module>

for i in tqdm(generate_random_unique_traits(order)[:n]):

File "/Users/jacobsamuel/Downloads/pumpkin/photoshop_script.py", line 39, in generate_random_unique_traits

rand_generated[j] = random.choices(population=list(parts[j].keys()), weights=list(parts[j].values()), k=n)

File "/usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/random.py", line 500, in choices

total = cum_weights[-1] + 0.0 # convert to float

IndexError: list index out of range
 
Und nun hat der Kollege das extra mit bumpy angepasst, jetzt gibt es den Fehler oben nicht mehr aber einen neuen und bei ihm läuft es ohne Probleme... I am lost... Sollte doch genauso laufen oder?

Traceback (most recent call last):
File "/Users/jacobsamuel/Downloads/pumpkin/photoshop_script.py", line 88, in <module>
for i in tqdm(generate_random_unique_traits(order)[:n]):
File "/Users/jacobsamuel/Downloads/pumpkin/photoshop_script.py", line 43, in generate_random_unique_traits
rand_generated[j] = numpy.random.choice(a=numpy.array(list(parts[j].keys())), size=n, p=list(parts[j].values()))
File "mtrand.pyx", line 915, in numpy.random.mtrand.RandomState.choice
ValueError: 'a' cannot be empty unless no samples are taken
 
  • Gefällt mir
Reaktionen: JARVIS1187, ruerueka und dg2rbf
ok wir haben das Problem gefunden, da er auf Win programmiert hat sind die ganzen Pfade mit \\ angegeben gewesen und nicht mit /...
 
Hi,
Dass sollte man als Programmierer schon wissen, dass die Pfade bei Unixoiden Systemen zu Windows unterschiedlich sind.
Franz
 
  • Gefällt mir
Reaktionen: JARVIS1187
Ja er hat noch nie für Mac programmiert... bei da muss es ja auch einfache Ansätze geben, damit das überall läuft oder?
 
Hi,
Sowas gehört zum Grundwissen eines Programmierers, vollkommen egal für welches System dieser Programmiert.
Franz
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: JARVIS1187, der_Kay und ruerueka
Er sollte sich z.B. mal https://docs.python.org/3/library/pathlib.html anschauen... und, wie von 108 bereits angemerkt, unbedingt immer prüfen, ob ein Wert, der verwendet wird, auch existiert bzw. gefüllt ist....
Aber ich weiss ja: Doku lesen ist langweilig
 
  • Gefällt mir
Reaktionen: dg2rbf und win2mac
Ja er hat noch nie für Mac programmiert... bei da muss es ja auch einfache Ansätze geben, damit das überall läuft oder?
Was heißt Ansätze? Er hat es falsch gemacht. In der Python Doku steht explizit, wie die Pfade zu handhaben sind, damit sie problemlos auf allen Plattformen laufen. Wenn man das nicht weiß bzw. nicht nachliest, dann ist man halt nicht gerade der Profi. Wenn der Code, den du hier sonst noch so gepostest hast, auch von ihm stammt und er ein Dienstleister ist, dann würde ich dir empfehlen Abstand zu nehmen. Da sind noch andere Gurken drin, die auf einen schlechten Programmierer (zumindest in Python) hindeuten.
 
  • Gefällt mir
Reaktionen: dg2rbf
Zurück
Oben Unten