À propos des problèmes interactifs liés à Python et JMPSalut à tous les experts
il y a deux problèmes que j'apprends avec Python et JMP interactif dans JMP 16.2
Q1:
Names Default To Here( 1 );
Python Init( Echo( 1));
z ="python test";
Python Send( z,P );
Python Submit( "print(P)" );
Python Submit( "print(z)" );
c'est son contexte de sortie :
/**********/
imprimer(P)
/**********/
/**********/
imprimer(z)
/**********/
test python
0
ce qui signifie que Python ne reçoit pas le paramètre P égal à z, donc quelque chose ne va pas ?
Q2 :
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 );
Mais c'est le contexte de sortie :
/**********/
imprimer(P_x)
/**********/
/**********/
imprimer(x1)
/**********/
x1 = [1, 2, 3];
x2 = .;
Outre Q1 et ce code, il n'est même pas possible de générer normalement la valeur de la liste dans Log ? S'agit-il d'un bug pour le transfert de valeur de liste entre Python et JMP ?
Modélisation statistique avancéeAutomatisation et scriptsÉtudes de marché et de consommationAccès aux donnéesExploration et visualisation des donnéesPersonnalisation de masseIngénierie de la qualité et des procédésRe : À propos des problèmes interactifs Python et JMPBienvenue sur le forum de discussion communautaire.
Concernant votre 1ère question, je ne vois rien d'incorrect.Lorsque vous envoyez des valeurs scalaires à Python et que l'une d'entre elles, P n'existe pas dans JMP, il ne peut rien transmettre à Python.Par conséquent, Python n'affiche aucune valeur avec :
print(P)
n'a rien à afficher.
Concernant votre Q2. En utilisant JMP 16.2 sur un PC Windows 11, je reçois la sortie suivante
/**********/
print(P_x)
/**********/
/**********/
print(x1)
/**********/
[[1.]
[2.]
[3.]]
x1 = [1, 2, 3];
x2 = [1, 2, 3];
C'est exactement ce à quoi je m'attendais.Le code fonctionne de la même manière sur JMP 17
Re : À propos des problèmes interactifs Python et 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();
Je pense que vous préférerez peut-être l'utiliser comme je l'ai fait dans Script de navigateur avec Python Selenium .
- PythonExecute( { input }, { output }, " code python utilisant l'entrée et produisant la sortie " )
- essayez: ... sauf ... autour du code python
- renvoyer une chaîne pour le code de retour, notez repr(e) pour obtenir une chaîne à partir de l'exception
- vérifiez à la fois le code de retour de PythonExecute ET le code de retour de la chaîne, ils correspondent à des erreurs différentes
JMP ne fait actuellement pas un excellent travail de gestion des erreurs dans le script python ; le try-except rendra votre travail beaucoup plus amusant.
Re : À propos des problèmes interactifs Python et JMPmerci pour votre soutien et je pense savoir ce qui arrive à mon JMP, car je viens de réinstaller le système d'exploitation de mon ordinateur de WIN10 à WIN 11, ce qui peut perdre un environnement clé pour JMP, le problème est résolu mais un autre problème s'est produit :
// 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();
sa sortie est illustrée ci-dessous :
x1 = [1, 2, 3] ;
x2 = [1, 2, 3] ;
Send attend un objet inscriptible lors de l'accès ou de l'évaluation de 'Send' , dt2 << /*###*/New Data View/*###*/
à la ligne 10 dans Scripting Index
Je reçois le type de dt2 est Number : Type(dt2) = "Number";, alors y a-t-il une solution à ce problème ?
Re : À propos des problèmes interactifs Python et JMPMerci pour votre réponse
Re : À propos des problèmes interactifs Python et JMPdésolé, j'ai juste oublié d'installer les packages pour Python, le problème est résolu