Necesito establecer una variable de entorno desde un cuaderno de Mathematica.Configuración de variables de entorno en Mathematica
Environment["VARIABLE"]
da el valor de la variable. Pero, ¿es posible establecer una variable también?
Necesito establecer una variable de entorno desde un cuaderno de Mathematica.Configuración de variables de entorno en Mathematica
Environment["VARIABLE"]
da el valor de la variable. Pero, ¿es posible establecer una variable también?
Supongo que vas a hacer esto antes de intentar ejecutar un comando externo ¿no? ¿Por qué no simplemente ejecuta "VARNAME = value; your_original_external_command" que establecerá temporalmente la variable evn.
No hay Está construido en la función (que yo sepa), pero sólo se puede utilizar
Run["set VAR=VALUE"]
o
!set VAR=VALUE
lugar.
Editar: Deberá ver la documentación para los comandos Run y RunThrough.
variables de entorno definidas con Run o RunThrough no afectará a la Mathematica kernel sí pero esto sólo serán visibles para los procesos que se ejecutan dentro del mismo comando Run
o RunThrough
.
Si la variable de entorno debe ser visible para el proceso kernel Mathematica, el hack basado GDB se describe en la respuesta aceptada a Is there a way to change another process's environment variables? se puede utilizar en Mac OS X:
SetEnvironment[var_String, value_String] := Module[{valueEscaped, cmd},
valueEscaped = StringTake[ToString[CForm[value]], {2, -2}];
cmd = "call (int) putenv (\"" <> var <> "=" <> valueEscaped <> "\")";
Put[OutputForm[cmd], "!gdb -n \"" <> First[$CommandLine] <> "\" " <> ToString[$ProcessID ]]
]
El MathematicaPut El comando se usa para iniciar gdb y hacer que se una al proceso de núcleo Mathematica. El comando gdb call (int) putenv ("var=value")
se envía a gdb en stdin para configurar la variable de entorno con putenv.
Advertencia: en Mac OS X gdb solo está disponible si está instalado Xcode developer tools.
"set" no parece funcionar, pero "export" lo hace (estoy usando bash en Mac OS X). : ~ cls $ export VAR = VALOR : ~ cls $ echo $ VAR VALOR Sin embargo, no funciona desde Mathematica. En [15]: = Ejecutar [ "VAR exportación = VALOR"] de salida [15] = 0 En [16]: = Medio Ambiente [ "VAR"] de salida [16] = $ Falló Incluso si configuro la variable desde la línea de comando, no se puede recuperar con Entorno []. –