Acerca de los problemas interactivos de Python y JMPHola a todos los expertos
Hay dos cuestiones que aprendo sobre Python y JMP interactivo en JMP 16.2
Pregunta 1:
Names Default To Here( 1 );
Python Init( Echo( 1));
z ="python test";
Python Send( z,P );
Python Submit( "print(P)" );
Python Submit( "print(z)" );
Su contexto de salida:
/**********/
imprimir(P)
/**********/
/**********/
imprimir(z)
/**********/
prueba de python
0
lo que significa que Python no recibe el parámetro P igual a z, entonces, ¿hay algún problema?
P2:
Names Default To Here( 1 );
Python Init( Echo( 1));
x1 = [1, 2, 3];
Python Send( x1, P_x );
Python Submit( "print(P_x)" );
Python Submit( "print(x1)" );
x2 = Python Get( x1 );
Show( x1, x2 );
Pero su contexto de salida:
/**********/
imprimir(P_x)
/**********/
/**********/
imprimir(x1)
/**********/
x1 = [1, 2, 3];
x2 = .;
Además de Q1, este código tampoco puede generar normalmente el valor de la lista en Log. ¿Es esto un error en la transferencia de valores de lista entre Python y JMP?
Modelado estadístico avanzadoAutomatización y scriptingInvestigación de mercado y consumoAcceso a datosExploración y visualización de datosPersonalización masivaIngeniería de Calidad y ProcesosRe: Acerca de los problemas interactivos de Python y JMPBienvenido al foro de discusión de la comunidad.
Con respecto a su primera pregunta, no veo ningún error.Cuando envía valores escalares a Python, y uno de ellos, P no existe en JMP, no puede pasar nada a Python.Por lo tanto, Python no muestra ningún valor con:
print(P)
no tiene nada que mostrar.
Con respecto a su Q2. Usando JMP 16.2 en una PC con Windows 11, recibo el siguiente resultado
/**********/
print(P_x)
/**********/
/**********/
print(x1)
/**********/
[[1.]
[2.]
[3.]]
x1 = [1, 2, 3];
x2 = [1, 2, 3];
Que es exactamente lo que esperaría.El código funciona igual en JMP 17
Re: Acerca de los problemas interactivos de Python y JMPNames Default To Here( 1 );
Python Init();
x = [1, 2, 3];
Python Send( x,Python Name("y") ); // the python name seems to be a string
Python Submit( "print(y)" );
Python Term();
Creo que preferirías usarlo como yo lo hice en Secuencias de comandos del navegador con Python Selenium .
- PythonExecute({entrada}, {salida}, "código python usando entrada y produciendo salida")
- prueba: ... excepto ... alrededor del código python
- devolver una cadena para el código de retorno, observe repr(e) para obtener una cadena de la excepción
- verifique tanto el código de retorno de PythonExecute como el código de retorno de la cadena, son para diferentes errores
Actualmente, JMP no está haciendo un gran trabajo en el manejo de errores en el script de python; el intento-excepto hará que su trabajo sea mucho más divertido.
Re: Acerca de los problemas interactivos de Python y JMPgracias por su apoyo y creo que sé lo que le sucedió a mi JMP, porque acabo de reinstalar el sistema operativo de mi computadora de WIN10 a WIN 11, que puede perder un entorno clave para JMP, el problema se solucionó pero ocurrió otro problema:
// This is the Scripts manual code for Python Get
Names Default To Here( 1 );
Python Init();
x1 = [1, 2, 3];
Python Send( x1 );
x2 = Python Get( x1 );
Show( x1, x2 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
Python Send( dt1 );
dt2 = Python Get( dt1 );
dt2 << New Data View;
Close( dt1 );
Python Term();
su salida se muestra a continuación:
x1 = [1, 2, 3];
x2 = [1, 2, 3];
Enviar espera objeto programable en acceso o evaluación de 'Enviar', dt2 << /*###*/Nueva vista de datos/*###*/
en la línea 10 en Scripting Index
Obtengo que el tipo de dt2 es Número: Tipo (dt2) = "Número"; entonces, ¿hay alguna solución para este problema?
Re: Acerca de los problemas interactivos de Python y JMPgracias por tu respuesta
Re: Acerca de los problemas interactivos de Python y JMPlo siento, solo olvidé instalar los paquetes para Python, el problema está solucionado