Python Batch->Python->funktioniert aber Mathematica->Batch->Python nicht

porenbeton

Lt. Junior Grade
Registriert
Nov. 2014
Beiträge
290
Hallo zusammen,

ich programmiere derzeit an einem Tool das aus Mathematica, Batch und Python Teilen besteht. Auf PC1 (Windows 7) funktioniert der folgende Ablauf problemlos:

In Mathematica starte ich eine Batch mittels
Code:
Run["starte-python.bat"]

In der Batch wird dann ein Python-Skript aufgerufen:
Code:
path=c:\SIMULIA\Commands
abaqus python python-Skript.py

Das Python-Skript mit Mathematica zu starten funktioniert leider nicht, darum der Umweg über die Batch. Das Python-Skript sieht wie folgt aus:

Code:
# Python script to execute all input decks
# within the directory from which this script is run
#
import sys
import os
import subprocess
#
i=0
run=[]
#
COMMAND = os.environ['ABA_COMMAND']
print
print 'NOTE all input files in this directory will be executed with ',COMMAND
files = os.listdir('.')
print
#
while i < len(files):
   nameall = files[i]
   ext = nameall[(len(nameall)-3):]
   if ext == 'inp':
     run.append(nameall[:(len(nameall)-4)])
   i=i+1
#
i=0
#
while i < len(run):
   name = run[i]
   cmd = COMMAND+' -j '+str(name)+' inter'+' cpus=1'
   print 'Executing '+cmd
   subprocess.Popen(cmd,creationflags = subprocess.CREATE_NEW_CONSOLE)
   i=i+1
#
print
print '***'
print '**Completed all analysis runs**'

Es dient dazu, alle im selben Ordner befindlichen Abaqus-Simulationen zu starten. Und wie gesagt, auf PC1 funktioniert das ganze auch ohne Probleme. Auf PC2 (Windows 10) jedoch nicht, dort bekomme ich die folgende Fehlermeldung:

Fehler.png


Das seltsame ist: starte ich auf PC2 die Batch manuell, also einfach durch doppelklicken, funktioniert alles wie gewohnt. Der Fehler tritt nur auf, wenn ich besagte Batch über den Mathematica Befehl starte.
Andere Batch-Dateien, die nichts mit Python zu tun haben, lassen sich auf beiden PCs problemlos mit Mathematica starten. Die angeblich fehlende *.dll ist auf beiden PCs vorhanden (d.h. lässt sich über die Windows-Suche finden).

Die einzigen mir bekannten Unterschiede zwischen den PCs sind:
PC1 mit Windows 7 und Python direkt von python.org
PC2 mit Windows 10 und Anaconda

Bei der Installation von Anaconda wurde ich gefragt, ob ich Python zum Windows-PATH hinzufügen möchte. Das habe ich nicht gemacht, weil es so empfohlen wurde. Ist das vielleicht der Grund für den Fehler?

Ich bin dankbar für jeden Hinweis.
 
Probier das mit der PATH-Variable mal aus. Ich hab Python auch über Anaconda installiert und zur PATH-Variable hinzugefügt. Wenn es nicht funktioniert und dich der Eintrag in die Variable totaaal stört, kannst du es ja danach wieder raus nehmen, wird ja nicht in Stein gemeißelt.
 
Zorkarak schrieb:
und dich der Eintrag in die Variable totaaal stört

Um ehrlich zu sein weiß ich gar nicht was es mit der PATH-Variable genau auf sich hat. Habe das nur nicht gemacht, weil es so empfohlen wurde. Ich probiere das morgen mal aus und melde mich dann wieder.
 
Würde ich ausschließen, da es ohne 'cd' auf PC1 funktioniert und beim manuellen Ausführen der Batch sogar auf beiden PCs. Ordnerstruktur, wo welche Datei liegt, etc. sind dabei jeweils identisch.

Ich bin noch nicht dazu gekommen die PATH-Variable hinzuzufügen..
 
Zurück
Oben