[FIX] Python-Interpreter fuer Export robust ermitteln + Sprachtexte
Unter Windows 11 traf ein blankes "python" den WindowsApps-Platzhalter (kein echter Interpreter, Exitcode 49). Der Export schrieb die JSON, aber nie eine CSV - ohne jede Fehlermeldung, da "fire and forget" per startapp. - export:python-exe: Aufloesungsreihenfolge cfg/export.cfg [python] interpreter= -> DXFM_PYTHON -> Projekt-venv -> %SystemRoot%/py.exe -> "python"; WindowsApps-Platzhalter werden verworfen - export:run-python: synchroner Aufruf per WScript.Shell.Run, stdout/stderr nach DXFM_LOG/export_python.log, Exitcode-Auswertung - export:log-ausgeben: erste Logzeilen in die BricsCAD-Kommandozeile - setenv.bat setzt DXFM_PYTHON (venv oder py-Launcher) - cfg/export.cfg: neue Sektion [python] - lang/de_DE.json, lang/en_GB.json: neue Meldungstexte (exp-python-exe, exp-export-done, exp-python-error, exp-python-store-hint, exp-csv-missing, exp-python-call-failed) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,23 @@ set "DXFM_RESULTS=%DXFMAKRO%\results"
|
||||
REM 2D/3D-Modus: Standard ist 3D (alle Module nutzen data\ils\3D\)
|
||||
set "DXFM_DIM=3D"
|
||||
|
||||
REM Python-Interpreter fuer die Export-Skripte (EXPORTCSV/EXPORTSIVAS).
|
||||
REM WICHTIG: BricsCAD erbt diese Umgebung, aktiviert aber kein venv. Ein blankes
|
||||
REM "python" trifft unter Windows 11 den WindowsApps-Platzhalter (kein echter
|
||||
REM Interpreter, bricht mit Exitcode 49 ab) - deshalb hier explizit setzen.
|
||||
set "DXFM_PYTHON="
|
||||
if exist "%DXFMAKRO%\.venv\Scripts\python.exe" (
|
||||
set "DXFM_PYTHON=%DXFMAKRO%\.venv\Scripts\python.exe"
|
||||
) else (
|
||||
for /f "delims=" %%P in ('py -c "import sys;print(sys.executable)" 2^>nul') do (
|
||||
if not defined DXFM_PYTHON set "DXFM_PYTHON=%%P"
|
||||
)
|
||||
)
|
||||
if not defined DXFM_PYTHON (
|
||||
echo HINWEIS: Kein Python gefunden - bin/install_py.bat ausfuehren, sonst
|
||||
echo liefern EXPORTCSV/EXPORTSIVAS keine CSV-Datei.
|
||||
)
|
||||
|
||||
set BRICSCAD="C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe"
|
||||
|
||||
if exist "C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe" (
|
||||
@@ -110,6 +127,7 @@ echo DXFM_DIM = %DXFM_DIM%
|
||||
echo DXFM_BLOCKS = %DXFM_BLOCKS%
|
||||
echo DXFM_OMNIFLO = %DXFM_OMNIFLO%
|
||||
echo DXFM_DIFFTOOL = %DXFM_DIFFTOOL%
|
||||
echo DXFM_PYTHON = %DXFM_PYTHON%
|
||||
echo ================================================================
|
||||
echo.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user