JMP 14 Habilidades de Python: ¿funcionan? Estoy confundidoEstoy tratando de usar las nuevas habilidades en JMP 14 para ejecutar python y no funciona.Básicamente, no encuentro mi instalación de python, creo, aunque en algunas circunstancias simplemente falla.
Yo vi otra discusión diciendo que había problemas con eso en 14.1 y sugiriendo una solución para establecer variables de entorno y usar Usar la versión de Python ("3.6") como argumento para Inicialización de Python() (los cuales probé sin éxito).
Luego vi en las notas de la versión 14.2 más sobre esto, incluido un nombre diferente para la variable de entorno relevante...
https://www.jmp.com/support/help/14-2/how-jmp-finds-python-on-windows.shtml
Entonces, fui a actualizar desde 14.1 y vi que ahora hay 14.3 y obtuve eso. cuando pruebo las instrucciones de la variable de entorno de la publicación 14.2, recibo un mensaje que dice que está en desuso y ahora debería ser JMP_PYTHON_MODULE_PATH.Así que lo intenté, yo pensar con una ruta válida al archivo correcto, usando el mismo formato de la publicación 14.2, pero aún no funciona.Se me ocurrió probar esto en mi versión JMP15 de adopción temprana también y obtuve los mismos resultados, el mismo mensaje de que la variable de entorno debería llamarse JMP_PYTHON_MODULE_PATH.
En todos los casos (14.1, 14.3, 15 primeros usuarios, varias versiones de variables de entorno) si no tengo ningún argumento en Python Init(), JMP se bloquea de inmediato en esa línea.Si tengo UsePythonVersion ("3.6") allí, aparece un error que dice que no puede encontrar Python en absoluto.
No se puede encontrar una instalación de Python en este sistema. La compatibilidad con JMP Python requiere la versión de Python 3.0 o superior. en el acceso o evaluación de 'Python Init', Python Init/*###*/(Use Python Version( "3.6"))
¿Alguien está usando esto con éxito?Si es así, ¿estás poniendo algo dentro de Python Init ()?
o si utilizó la configuración de una variable de entorno, ¿cómo se llama y cómo se ve?¿Algún otro consejo para solucionar problemas?
Así es como se ve mi último intento de variable de entorno ... ¿no es este el formato correcto? (La publicación anterior parecía que la variable de entorno tenía corchetes y comillas dobles como JMP quería ver como un formato de lista JSL, pero esto parece lo que dice la publicación 4.2 y otro formato tampoco funcionó para mí ...Un archivo python36.dll realmente hace parece estar en este lugar...
No estoy seguro de si tengo un problema extraño específico de mi sistema para el que necesito soporte técnico o si simplemente no tengo la última versión de cómo se supone que funciona.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoUsar las variables de entorno nunca fue la ruta preferida. Los parámetros del JSL Script para Python Init() o Python Connect() siempre se "supuso" que fueran los valores definitivos. Todos los parámetros son opcionales, pero especificar la ruta a python3x.dll y, como último recurso, agregar sys.path debe especificar completamente Python. La integración de Python ha mejorado significativamente la detección de Python desde JMP 14. En este punto, el uso de las variables de entorno es probablemente contraproducente y no debe usarse (a menos que tenga tiempo para jugar con las perillas y todo lo demás falle, es una ruta de código alternativa). En JMP 16.1 y posteriores, los parámetros del script JSL 'deberían' anular cualquier otra cosa...
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoSé que esta es una respuesta un poco tarde, pero este tema debe editarse y actualizarse para versiones más nuevas de JMP y Anaconda.Tenga en cuenta que logré integrar Python 3.8 con JMP 16 el 24/8/2021.
En contradicción directa con la "Solución" publicada en este hilo, NO cambie ninguna variable ambiental EN ABSOLUTO.
HACER.
NO.
Esta "Solución" me hizo fallar en mi integración y desarrollo por varias semanas.Después de instalar JMP o actualizar JMP, debe instalar una versión nueva de Anaconda (se puede usar Anaconda Navigator) y asegurarse de que su entorno base (raíz) en Anaconda sea al menos 3.8.3.También probé con éxito en 3.8.8.
Puede verificar su ruta e instalación haciendo lo siguiente:
- Vaya a C:\Archivos de programa\SAS\JMP\\ (si no lo ve aquí, verifique: C:\Archivos de programa (x86)\SAS\JMP\\)
- Haga doble clic en InstallChecker.exe (podría decir simplemente Install Checker)
- Después de que se muestre el informe, elija "Abrir en el navegador"
Luego debería ver un archivo XML y al final debería ver lo siguiente:
-
"/>
"/>
"/>
"/>
"/>
En mi caso, la integración fue exitosa después de que cambié las variables ambientales a:
"/>
"/>
Espero que esto ayude y recomendaría encarecidamente que se elimine la solución en este hilo, ya que simplemente no funciona.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoJMP 15.0 todavía sufre el mismo problema. Instalé la Anaconda vinculada sin la opción PATH y funcionó.
Tenga en cuenta que este paquete es bastante antiguo, por lo que deberá actualizar sus paquetes con cuidado de no ir a actualizar Python 3.6.5 (3.6.9 no funcionó para mí).
Espero que se solucione en próximos lanzamientos.
@FN escribió:
Puedo confirmar que con Windows 10 y JMP 14.2 funciona de forma inmediata, si:
Anaconda Python 3.6* 64bit está instalado > https://repo.continuum.io/archive/Anaconda3-5.2.0-Windows-x86_64.exe ;
y la opción PATH está activada (no se requieren derechos de administrador)

Mi punto era más sobre la capacidad de implementar complementos con una versión portátil de Python para que los usuarios no tengan que preocuparse por la instalación, los entornos y las versiones de Anaconda.
Gracias por la ayuda. Espero ver una gran integración de Python en las siguientes actualizaciones.
(*) Con la versión actual de Anaconda, JMP falla con esta configuración.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoCon respecto a la implementación, creo que estará bien tan pronto como Python no interfiera con las instalaciones de otros usuarios.
Por ejemplo, intento llamar a Python desde JMP 15 EA8 que se encuentra en una carpeta específica.
Esta carpeta contiene todos los archivos de instalación de Anaconda/miniconda, que copié en una carpeta antes de desinstalarlo. El código funcionó cuando se instaló. Ahora, parece que JMP no usa la ruta que estoy especificando.
Set Environment Variable( "JMP_PYTHON_MODULE_PATH",
"\["", "C:/Users/xxx/JMP_scripting/python/miniconda3/python36.zip",
"C:/Users/xxx/JMP_scripting/python/miniconda3/DLLs",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib",
"C:/Users/xxx/JMP_scripting/python/miniconda3",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages/win32",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages/win32/lib",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages/Pythonwin"]\"
);
Python Init (Path("C:\Users\xxx\JMP_scripting\python\miniconda3"),
Init Trace("TRUE"),
Debug Print Statements ("TRUE"),
Debug Print Output("TRUE") );
Python Submit( "\[basket = ["apple", "orange", "pear"]
print(basket)]\" );
Python Term();
Error en JMP 15 EA8

Error en JMP Pro 14.2:
No se puede encontrar una instalación de Python en este sistema. La compatibilidad con JMP Python requiere la versión de Python 3.0 o superior. en el acceso o evaluación de 'Python Init', Python Init/*###*/(Path(
"C:\Usuarios\xxx\JMP_scripting\python\miniconda3"
))
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido¡Lindo! Ese es un gran caso de uso.
Mientras busca el flujo de trabajo ideal de JMP + Python, vale la pena señalar que JMP (Pro) puede generar código de puntuación de Python para modelos JMP. Eso respalda la integración en la otra dirección: empujar las capacidades de JMP al mundo de Python.
Por ejemplo, supongamos que desea aplicar un modelo JMP a una tabla de datos grande en Oracle, podría convertir el modelo a Python y anotarlo en la base de datos utilizando UDF (aunque el soporte parece ser experimental):
https://oracle.github.io/oracle-db-mle/python/
O podría compartir su modelo JMP con su colega de Python para que pueda ejecutarlo en un cuaderno Jupyter, y así sucesivamente.
Además, JMP 15.0 facilitará la visualización de imágenes externas como miniaturas en la información sobre herramientas de visualización de datos. Eso reduciría/eliminaría la necesidad de importarlos directamente a sus tablas JMP, manteniéndolos más pequeños. Por supuesto, hay un costo de rendimiento, pero podría ser una compensación valiosa. Mantente pendiente de eso.
¡Gracias por compartir! ¡Manténganos informados sobre su viaje!
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoEsto se ve genial, ¡gracias!No tengo tiempo para probarlo durante al menos un par de semanas (y rehice por completo mi instalación de Python sin entorno virtual, por lo que me tomará un tiempo intentarlo), pero estaré ansioso por probarlo pronto.
Lo que realmente inició mi uso de Python es la clasificación de imágenes con tensorflow y keras.Estoy ejecutando un script JMP que consulta imágenes relevantes y llama a Python para ejecutar mi modelo y luego envía los resultados a Oracle.Toda esa tarea es algo que probablemente terminaré haciendo en Python, pero que estoy haciendo en JSL porque hasta ahora soy mucho más competente en eso, solo estoy aprendiendo en Python, y ya tengo un esquema completo para ejecutar trabajos automatizados de JSL. , tener funciones creadas para enviar tablas a nuestro Oracle, etc.
Sin embargo, aunque pensé que todo el proyecto no estaría intrínsecamente relacionado con JMP, en realidad descubrí que tener imágenes en una tabla JMP junto con otros datos con los que se puede interactuar en todas las formas habituales de JMP es realmente útil: ordenar, seleccionar en función de otros columnas de datos, etc. Eso me impulsó a hacer una serie de otros complementos relacionados con imágenes.Queda por ver si al final hay una verdadera necesidad en mi proyecto de llamar a Python durante una sesión JMP interactiva en vivo o si pueden estar separados (una herramienta que revisa los resultados del modelo tf de forma interactiva simplemente consultando los resultados de Oracle, no llamando directamente Python para ejecutar modelos en vivo?) pero actualmente los estoy usando juntos.
De todos modos, eso es lo que no está en JMP, estoy usando Python por ahora. Estoy tratando de aprender más Python y tengo colegas que son expertos en él y creo que encontraré más cosas en las que me gustaría llamar a Python para unir sus habilidades con JMP.
¡Gracias!
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoHola @hardner ,
Es bueno saber que has estado usando Python con JMP más. Si puede compartir lo que ha estado haciendo, ¡nos encantaría saberlo!
En cuanto al soporte para entornos virtuales, te escucho. Hace una gran diferencia en términos de mantener sus dependencias organizadas Y ayudar a sus compañeros de trabajo a reproducir su entorno para ejecutar sus complementos.
Es por eso que preparé una pequeña biblioteca que ayuda con ese mismo problema. Por favor, compruebe:
https://community.jmp.com/t5/JMP-Scripts/Anaconda-Environments-Integration/ta-p/221565
Muchos ejemplos, probados en 14.3 y 15.1. Pero, al menos por ahora, solo para Windows y específico de Anaconda.
¡Avísame si te funciona!
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido¡Hola!
Simplemente volviendo a este hilo como OP para decir ...
- He estado usando Python más desde mi publicación original y lo que dije que funcionaba para mí ha seguido funcionando.:)
- Aprecio los esfuerzos para admitir Python, más ahora que he encontrado cosas específicas para usarlo. ¡Gracias!
- Al igual que FN, encuentro que los complementos compartidos que llaman a Python son problemáticos. Comparto muchos complementos.Estoy usando esto ahora solo para mí y para los trabajos que ejecuto y luego comparto los resultados con otros, pero no en scripts para que otros los ejecuten.Tendría que dar instrucciones complicadas sobre la instalación de Python y paquetes y preocuparme de que las versiones específicas funcionen juntas (el mismo problema ocurre con R que uso pero no en scripts compartidos).Pero si una versión en particular estuviera encapsulada dentro de JMP, limitaría lo que podemos hacer con ella.Sigo pensando que tal vez admitir entornos virtuales podría ayudar, luego podría instruir y ayudar a los usuarios a configurar una instalación según mis especificaciones para una herramienta en particular que desean usar y no interferir con ninguna otra actividad de Python en su máquina.Pero no estoy realmente seguro de qué sería lo mejor y no estoy tan interesado en solucionar los problemas de las instalaciones de Python de los usuarios.Así que estoy de acuerdo en que no es lo ideal y noto que tengo cierto interés en hacer más uso de esta habilidad.
¡Gracias!
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoPuedo confirmar que con Windows 10 y JMP 14.2 funciona de forma inmediata, si:
Anaconda Python 3.6* 64bit está instalado > https://repo.continuum.io/archive/Anaconda3-5.2.0-Windows-x86_64.exe ;
y la opción PATH está activada (no se requieren derechos de administrador)

Mi punto era más sobre la capacidad de implementar complementos con una versión portátil de Python para que los usuarios no tengan que preocuparse por la instalación, los entornos y las versiones de Anaconda.
Gracias por la ayuda. Espero ver una gran integración de Python en las siguientes actualizaciones.
(*) Con la versión actual de Anaconda, JMP falla con esta configuración.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoNo estoy seguro de entender tu pregunta. La instalación de Python para todos los usuarios requiere acceso de administrador, pero el uso de Python instalado no requiere acceso de administrador. Un complemento de JMP llamado Python no requeriría acceso de administrador para instalarlo o ejecutarlo. Sí, los paquetes de Python adicionales que están instalados para todos los usuarios requerirían acceso de administrador. Debería poder instalar paquetes locales del sitio por usuario que no requieran que el administrador los instale. Esto es algo que tenía la intención de probar, pero he tenido la oportunidad de intentarlo. Es posible que deba actualizar sys.path para agregar la ubicación de los paquetes locales del sitio.
En cuanto a la documentación de JMP 15, sé que parte de esta discusión ha llegado. Desafortunadamente, no todo se ha convertido en documentos antes del corte. Trabajaremos para obtener el resto a través de las versiones de mantenimiento.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoLa instalación para todos los usuarios también requiere derechos de administrador, lo que no es conveniente cuando se distribuye un complemento que llama a Python.
¿La documentación de JMP 15 incluirá lo que se ha discutido aquí?
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoPudimos replicar en una máquina de desarrollo, la salida repentina de JMP al intentar cargar Python 3.7.Resulta que nosotros (JMP) no somos los únicos que tenemos problemas con Python 3.7 y Python 3.8, especialmente en un caso integrado.El error que obtuvimos de Python es:
Error fatal de Python: no se puede cargar el códec del sistema de archivos
Excepción no controlada en 0x00007FFE84F9B64E (ucrtbase.dll) en Jmp.exe: solicitud de salida fatal del programa.
El La solución en este momento es usar Python 3.6.5 o 3.6.x más reciente, o debe instalar Python 3.7.x en Windows como una instalación para todos los usuarios, no solo para usted, el usuario local Y DEBE elegir la opción para poner el Python en tu RUTA.Esto contradice directamente el cuadro de diálogo de instalación de Anaconda3, advirtiendo sobre no ponerlo en la ruta.
Mi máquina de desarrollo funciona bien con 3.7.1 instalado como una instalación en todo el sistema y es el Python predeterminado en la ruta.En la máquina de mi compañero de trabajo donde pudimos replicar el aborto repentino de JMP, instalamos Python 3.7.1 usando las opciones de instalación predeterminadas que hicieron que la instalación local no estuviera en la ruta.Pudimos evitar que JMP saliera configurando la variable de entorno PYTHONHOME= 'el directorio anaconda3', pero incluso aquí no pudimos hacer que cargara numpy, scipi, pandas o sqlite3, ni siquiera desde el indicador de la consola. Donde en mi máquina todo funciona como se esperaba.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidomás sobre UsePythonVersion("3.6"), en caso de que sea útil....
esta línea no funciona cuando JMP se abre por primera vez...
Python Init(Usar la versión de Python( "3.6"), InitTrace( "True" ));
Esto es lo que muestra el registro de InitTrace()...
Procesamiento del operador OpPythonInit
Inicio de la inicialización de la interfaz de JMP a Python
Consulta HKEY_CURRENT_USER
Lectura hKey=0XFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64
Encontrado hKey=0xFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64
# de subclaves = 1
Recuperando subclave #=0
subclave = 3.6 longitud = 3
Subclave de apertura = 3.6
Clave de apertura = 3.6 subclave = Ruta de instalación
Clave de valor de consulta = 3.6 subclave = ruta de instalación
Valor de consulta clave = 3.6 subclave = ruta de instalación valor = C:\Users\12470\AppData\Local\Continuum\anaconda3
Clave de apertura = 3.6 subclave = PythonPath
Clave de valor de consulta = 3.6 subclave = PythonPath
Ruta de acceso a la versión = 3.6 de la DLL de Python
No se puede encontrar una instalación de Python en este sistema. La compatibilidad con JMP Python requiere la versión de Python 3.0 o superior. en el acceso o evaluación de 'Python Init', Python Init/*###*/(Use Python Version( "3.6"), InitTrace( "True"))
Esto sucede repetidamente si ejecuto la línea una y otra vez, pero si hago esta versión sin UsePythonVersion...
Inicialización de Python(InitTrace("Verdadero"));
No solo funciona, sino que después de eso, la versión original con el argumento UsePythonVersion("3.6") también comienza a funcionar, mientras esta sesión JMP está abierta.Esto es lo que muestra el registro de ese seguimiento de inicio en ese caso.el camino que muestra allí se ve igual y correcto para mí en ambos casos ...
Consulta HKEY_CURRENT_USER
Lectura hKey=0XFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64
Encontrado hKey=0xFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64
# de subclaves = 1
Recuperando subclave #=0
subclave = 3.6 longitud = 3
Subclave de apertura = 3.6
Clave de apertura = 3.6 subclave = Ruta de instalación
Clave de valor de consulta = 3.6 subclave = ruta de instalación
Valor de consulta clave = 3.6 subclave = ruta de instalación valor = C:\Users\12470\AppData\Local\Continuum\anaconda3
Clave de apertura = 3.6 subclave = PythonPath
Clave de valor de consulta = 3.6 subclave = PythonPath
Ruta de acceso a la versión = 3.6 de la DLL de Python
Ruta DLL de Python = C:\Users\12470\AppData\Local\Continuum\anaconda3\python36.dll
sys.path entry.jstr:C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\Lib
sys.path entry.jstr:C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\DLL
ANTES:
/***********/
imprimir(_JMPsys.ruta)
/***********/
['C:\\Usuarios\\12470\\AppData\\Local\\Continuum\\anaconda3\\python36.zip', 'C:\\Usuarios\\12470\\AppData\\Local\\Continuum\\anaconda3 \\Lib', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\DLLs', 'C:\\Archivos de programa\\SAS\\JMP\\14', ' C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site- paquetes', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Babel-2.5.0-py3.6.egg', 'C: \\Usuarios\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\12470\\AppData\\Local\\Continuum\ \anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin ']
DESPUÉS:
/***********/
imprimir(_JMPsys.ruta)
/***********/
['', 'C:\\Usuarios\\12470\\AppData\\Local\\Continuum\\anaconda3\\python36.zip', 'C:\\Usuarios\\12470\\AppData\\Local\\Continuum \\anaconda3\\Lib', 'C:\\Usuarios\\12470\\AppData\\Local\\Continuum\\anaconda3\\DLLs', 'C:\\Usuarios\\12470\\AppData\\Local\ \Continuum\\anaconda3', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages', 'C:\\Users\\12470\\AppData \\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site- paquetes\\win32\\lib', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin']
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido¡Laboral!
Esto es lo que funcionó para mí:
Reinstalé Anaconda usando uno archivado destinado a Python 3.6 (para evitar usar un entorno virtual para 3.6).Aquí es donde se instaló, igual que antes, solo que sin 2 capas más para el entorno virtual en la carpeta anaconda3):
C:\Usuarios\12470\AppData\Local\Continuum\anaconda3\python36.dll
Establezca la variable de entorno JMP_PYTHON_MODULE_PATH en la ruta anterior para python36.dll
No usó el argumento UsePythonVersion("3.6") en python init(), que da el error "no se puede encontrar la instalación".
Nada de lo que estoy intentando después de la reinstalación está, hasta ahora, causando un bloqueo.Es cierto que no he hecho mucho, pero parece que fue algo sobre el entorno virtual lo que estaba causando el bloqueo (?).Las pruebas limitadas que he hecho hasta ahora funcionan tanto en 14.3 como en 15EA.
¡Gracias!
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido@Paul_Nelson & @Jeff_Perkinson ,
JMP actualizado a 14.3 y puede confirmar que el bloqueo aún continúa. Avísame si hay más información que necesites.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoLo primero que debe hacer es actualizar a una versión más reciente de JMP 14. El 14.0.0 original funcionaba bien si podía detectar automáticamente la instalación adecuada de Python. Pero, si no pudo ubicar Python correctamente, ninguno de los otros métodos funcionó bien. El trabajo en las sucesivas actualizaciones 14.1, 14.2,… ha hecho que el resto de alternativas funcionen mejor, la comprobación de variables de entorno, el uso de las variables Python Init(). Es posible que aún no funcione en su entorno específico, pero este es el primer lugar para comenzar.
Debe continuar trabajando con el soporte técnico de JMP. Al pasar por el soporte técnico, todos los clientes de JMP se benefician de lo que resolvemos en este problema. Por el momento, será necesario profundizar un poco más en el código, algunos instrumentos adicionales del código y algunas pruebas adicionales del código, incluso puede ser necesario escribir un programa de prueba o diagnóstico.
Gracias por su paciencia.
Pablo
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoPor lo que vale, los míos son definitivamente de 64 bits y también me fallan.La única vez que el mío no falla en Python Init() es con el argumento Usar versión de Python() cuando recibo el mensaje "no se puede encontrar".Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido@hardner y @Paul_Nelson ,
Pablo, estoy de acuerdo con @hardner las observaciones de . ¿Está bien pedirle que haga un webex con nosotros, puede ser mañana o tal vez la próxima semana, lo que sea que funcione para usted, donde puede ver nuestras instalaciones y decirnos por qué no funciona? Entonces, ¿probablemente pueda publicar un artículo de blog renovado en la comunidad basado en los aprendizajes que sacamos de la reunión? ¿Es esto algo que podrías hacer?
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoPor lo que vale, los míos son definitivamente de 64 bits y también me fallan.La única vez que el mío no falla en Python Init() es con el argumento Usar versión de Python() cuando recibo el mensaje "no se puede encontrar".
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoTambién actualizaría a la última versión de JMP 14. Se realizó trabajo adicional en cada versión de JMP 14.x para mejorar la búsqueda de Python y cargarlo correctamente.Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoEsperaba que no coincidieran y que tus problemas se resolvieran de repente.
Acabo de agregar código adicional para detectar excepciones cuando intentamos cargar Python. También consideraré agregar código para que Init Trace ("TRUE") escriba en un archivo y en el registro para que podamos obtener algún rastro de la ruta de ejecución para la inicialización de Python. Esperemos que ambos estén en el próximo JMP 15 EA. (No estoy seguro de cuándo vence el próximo).
Pablo
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido@Paul_Nelson ,
En efecto. He comprobado y validado que tanto JMP como Python son de 64 bits.


Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido¿Ha verificado que su Python y JMP tienen el mismo bit-ness? 32 bits o 64 bits. La falta de un archivo de volcado indica que JMP probablemente se está cayendo cuando intenta cargar Python como una biblioteca compartida. Si hay una falta de coincidencia de JMP de 32 bits/Python de 64 bits o JMP de 64 bits/Python de 32 bits, es muy probable que se produzca un bloqueo.
Eso es algo que JMP debería intentar validar antes de intentar cargar, y algo que deberíamos intentar detectar, pero aún podría ser una condición irrecuperable. Pero sería bueno que JMP pudiera dar alguna notificación.
Pablo
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido@Paul_Nelson ,
Tengo un caso en curso con soporte técnico sobre este problema: SAS 7612709398.
Intenté incluir el seguimiento como sugirió y eso bloquea Jmp. Sin embargo, no veo que se genere un archivo .dmp o .jer que pueda proporcionar al soporte técnico.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoLa compatibilidad con entornos virtuales de Python es algo que estamos analizando.
La otra cara es esta pregunta:
¿Es demasiado difícil ejecutar y seguir ejecutando la compatibilidad con la variedad de versiones de Python instaladas por el usuario?
Si es así, la solución puede ser una versión de Python suministrada e instalada por JMP que esté probada y se sepa que funciona con JMP sin problemas. Los problemas que trae incluyen el soporte de la instalación de paquetes locales y la extensión en un entorno de Python entregado por JMP.
Por el momento, preferiríamos admitir el Python instalado por el usuario, pero como ha experimentado, la variedad en la naturaleza puede hacer que eso sea un desafío.
Gracias,
Pablo
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoGracias por todo esto.
Bastante seguro de las cosas que mencionas, mi problema es "JMP en la actualidad no está al tanto de los entornos virtuales".
Habiendo instalado Anaconda más reciente con python 3.7, luego descubrí que quiero usar tensorflow que requiere 3.6, hice la primera de las opciones descritas aquí... configuré un entorno python3.6.
https://docs.anaconda.com/anaconda/user-guide/faq/#anaconda-faq-35
Dado que solo estoy comenzando con Python y no tengo una necesidad especial sobre 3.7, que yo sepa, creo que podría desinstalarlo todo y comenzar de nuevo con otra de las opciones, como un paquete de instalación de Anaconda archivado con 3.6 . Veré cómo va eso.
Pero parece que este tipo de "necesita versiones diferentes para cosas diferentes" es común, como lo es para R: fue leer ese caso lo que me hizo sumergirme en esa opción de aspecto más complicado y el enlace anterior no fue el único lugar vi el consejo de utilizar un entorno virtual.Entonces, me pregunto si puede decir algo más sobre los planes para poder decirle que opere en un entorno virtual particular.
La cosa InitTrace ("TRUE") bloquea JMP para mí.Pero tal vez si no tuviera mi camino que involucra un entorno virtual, sería diferente. Trabajará en eso y abrirá un caso de soporte técnico para obtener más ayuda.¡Gracias!
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoSé que es tan frustrante para nosotros como lo es para ti. Estamos teniendo dificultades para replicar el problema en nuestras máquinas, pero sabemos que algunos clientes tienen problemas. La mayoría de nuestras máquinas son similares, con la misma imagen corporativa... Una cosa que es importante, el bit-ness de JMP y Python debe coincidir. Debido a que JMP carga Python como una biblioteca compartida, no puede mezclar JMP y Python con diferentes bits. Si tiene JMP de 32 bits, debe apuntar a un Python 3.6.1 de 32 bits o más reciente. Si tiene JMP de 64 bits, debe ser Python 3.6.1 de 64 bits o más reciente. Encontramos la mejor oportunidad de éxito si solo tiene una única instalación de Python en su sistema. En JMP 14.1, si hubiera más de uno en el sistema, ni siquiera intentaría cargar Python. JMP en la actualidad no es consciente de los entornos virtuales.
Aquellos que tengan problemas, prueben la siguiente opción en su Inicialización de Python()
Inicialización de Python( Rastreo inicial ("VERDADERO") );
Esta opción, probablemente no documentada (lo siento), hará que JMP arroje una gran cantidad de detalles sobre dónde cree que se encuentra Python, incluidas las rutas que ve y las entradas de registro para Python que descubre. Incluya su salida cuando se comunique con el soporte técnico.
Puede determinar qué bit-ness está ejecutando el siguiente script de Python en su entorno
importar estructura
imprimir( estructura.calcsize("P") *8)
Esto debería imprimir 32 o 64 según el bit-ness de la ejecución de Python.
Nota: JMP 14 puede ser de 32 bits o de 64 bits según la versión. Shrink-wrap siempre es de 32 bits
JMP 15 es solo de 64 bits.
Intentaré documentar al máximo Python Init() y las variables de entorno.
JMP 15 agrega 2 nuevas variables de entorno que está buscando:
JMP_LIB_PYTHON_PATH: esta es la ruta completa a la biblioteca compartida.
JMP_PYTHON_MODULE_PATH: sys.path de Python como cabría esperar en las variables de entorno de Windows o MacOS. En Windows, una lista separada por punto y coma, en MacOS, una lista separada por dos puntos, NO una lista JSL.
En mi máquina tengo instalado Anaconda 3.7.1 de 64 bits en C:\ProgramData\Anaconda3
eso se vería
JMP_LIB_PYTHON_PATH=C:\ProgramData\Anaconda3\python37.dll
La ruta a la dll debería ser suficiente... y debería ser suficiente para que Python Init() se pueda usar sin parámetros. Con JMP_LIB_PYTHON_PATH y JMP_PYTHON_MODULE_PATH especificados, Python debe especificarse completamente incluso con más de un intérprete de Python y Python Init() simplemente debería funcionar.
Como se discutió 'Python sys path' como una variable de entorno quedó en desuso porque no sigue las convenciones normales para las variables de entorno de shell en Windows o MacOS. Tiene espacios en el nombre de la variable y espera una lista JSL de componentes de ruta { , } NO las rutas delimitadas por dos puntos esperadas en UNIX o las rutas delimitadas por punto y coma esperadas en Windows.
Hemos hecho un intento de prestar más atención a las variables de entorno de Python PYTHONPATH y PYTHONHOME. De la documentación de Python, la descripción de estas variables es:
PITÓNHOME
Cambie la ubicación de las bibliotecas estándar de Python. Por defecto, las bibliotecas se buscan en
prefix/lib/pythonversion y exec_prefix/lib/pythonversion, donde prefix y exec_prefix son
directorios dependientes de la instalación, ambos predeterminados en /usr/local.
Cuando PYTHONHOME se establece en un solo directorio, su valor reemplaza tanto a prefix como a exec_prefix.
Para especificar diferentes valores para estos, establezca PYTHONHOME en prefix:exec_prefix.
PITONPATO
Aumente la ruta de búsqueda predeterminada para los archivos del módulo. El formato es el mismo que el de la concha.
RUTA: uno o más nombres de ruta de directorio separados por os.pathsep (por ejemplo, dos puntos en Unix o
punto y coma en Windows). Los directorios inexistentes se ignoran silenciosamente.
Además de los directorios normales, las entradas individuales de PYTHONPATH pueden hacer referencia a archivos zip.
que contiene módulos Python puros (ya sea en forma de fuente o compilada). Módulos de extensión
no se puede importar desde archivos zip.
La ruta de búsqueda predeterminada depende de la instalación, pero generalmente comienza con prefix/lib/pythonversion
(ver PYTHONHOME arriba). Siempre se añade a PYTHONPATH.
Se insertará un directorio adicional en la ruta de búsqueda delante de PYTHONPATH como se describe anteriormente
en Opciones de interfaz. La ruta de búsqueda se puede manipular desde un programa de Python como la variable sys.path.
El orden de precedente que busca JMP 15 para las variables de entorno:
Orden de precedencia de las variables de entorno y script JSL de mayor a menor
- Especificado dentro del script JSL en Inicialización de Python( Camino("") , Usar la versión de Python ("") , Ruta del sistema Python ({ "",... } ), ... )
- Especificado en las variables de entorno del sistema/Shell
- Localizado automáticamente
- Registro, encontrado en PATH var, o System shell para ejecutar python o conda, ... y debería preferir un Python instalado localmente
sobre un sistema de instalación de Python en todo el sistema si ambos existen
JMP 14
Miró primero la variable de entorno 'Python sys path', que podría ser la ruta a la dll o la sys.path completa expresada como una lista JSL {"","",... }
PYTHONINSTALLPATH = la ruta al directorio de nivel superior que contiene la instalación de Python o el directorio que contiene la biblioteca compartida de Python.
El Inicialización de Python() declaración
Parámetros:
Path(): la ruta completa a la dll o al directorio de nivel superior de Python que contiene la dll.
Use la versión de Python () - cadena entre comillas de la versión de Python mayor.menor. Suele ser suficiente por sí solo cuando se encuentra más de un Python.
Python sys path(): la lista JSL de rutas de cadena citadas que corresponden al valor Python sys.path. Especificar estos 3 debe especificar completamente la instalación de Python y debe anular cualquier valor de Entorno o registro.
Init Trace ("TRUE"): salida de depuración durante la inicialización de Python de JMP en el registro de JMP
Depuración de declaraciones de impresión ("VERDADERO"); - imprima directamente las declaraciones de Python en el registro de JMP
Salida de impresión de depuración ("VERDADERO"); - imprime directamente la salida de Python en el registro de JMP
JMP 14 Python Init() también acepta opcionalmente lo siguiente: Use solo uno o el otro, y haciendo coincidir el bit-ness de su instalación JMP. JMP de 32 bits no puede usar Python de 64 bits y JMP de 64 bits no puede usar Python de 32 bits.
Usar Python de 32 bits ("VERDADERO")
Usar Python de 64 bits ("VERDADERO")
JMP 15 eliminó los parámetros opcionales anteriores ya que JMP 15 es de 64 bits y puede solo utiliza Python de 64 bits. Todos los parámetros a Inicialización de Python() son opcionales, si la detección automática en el registro o las variables de entorno apuntan a un Python válido, nada más debería necesario en su Inicialización de Python()
No dude en ponerse en contacto con el soporte técnico de JMP, queremos que las capacidades de Python en JMP sean útiles y mejoren el poder que proporciona JMP. Queremos resolver estos problemas para que simplemente funcione.
Pablo
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidosiguiente...
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido¡Gracias! servirá. Solo puedo agregar que también intenté poner path() de dll dentro de python init() y eso también falla en lugar de al menos quejarme de que no puedo encontrarlo. En general, probablemente también necesite ayuda del soporte técnico, pero esperaba que hubiera alguna aclaración que también sería útil para otros.Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundidoPuedo confirmar que a pesar de instalar mi distribución anaconda en C:\ y configurar una variable de entorno como se detalla en el correo , no puedo hacer que funcione. Todavía bloquea JMP. Lo actualizaré si recibo una respuesta del soporte técnico, si lo resuelve, haga lo mismo.
Re: JMP 14 Habilidades de Python - ¿funcionan? Estoy confundido@hardner ,
Estoy en el mismo bote que tú. He estado intentando configurar JMP para Python durante aproximadamente 2 semanas. Me integré con éxito con SAS y R de JMP, sin embargo, la integración de Python ha sido poco clara y prolongada, por decir lo menos. Me decepciona saber que JMP 15 Early Adopter tampoco tiene ninguna mejora para arreglar esta integración. Yo también estaba siguiendo de cerca esto correo y esperaba que se solucione en JMP 15 y se convierta en una integración más fluida.
Actualmente estoy usando JMP 14 y Python 3.7.1. Me han aconsejado que instale la distribución Python/Anaconda directamente debajo de la raíz C:/ y estoy a punto de intentarlo. En caso de que funcione, le daré un aviso sobre lo que funcionó y lo actualizaré aquí.