Configuring JMP to run Python codeI'm using JMP 15.2.0 version on Windows Server 2012 and have Python 3.7.3 installed (without Anaconda) with below paths in Python sys.path.
['', 'C:\\Python37-32\\python37.zip', 'C:\\Python37-32\\DLLs', 'C:\\Python37-32\\lib', 'C:\\Python37-32', 'C:\\Python37-32\\lib\\site-packages']
However I get errors when trying to run examples from the scripting index. For the Python Init example,
Names Default To Here( 1 );
Python Init(Use Python Version("3.7"), Python sys path("C:\Python37-32\python.exe"));
Python Submit( "\[
str = 'The quick brown fox jumps over the lazy dog';
]\" );
getStr = Python Get( str );
Show( getStr );
Python Term();I get below errors
An installation of Python cannot be found on this system. JMP Python support requires Python version 3.0 or higher. in access or evaluation of 'Python Init' , Python Init/*###*/(Use Python Version( "3.7" ),
Python sys path( "C:\Python37-32\python.exe" ))
at line 2 in Scripting Index
Can someone point me what I'm missing?
Thanks!
ScriptingRe: Configuring JMP to run Python codeThese two links might provide some help:
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/install-python.shtml#
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/troubleshooting-the-jmp-python-integration.shtml#
Especially the latter. Try to add Init Trace( "TRUE" ) to Python init(), it might give some additional information for you if JMP is looking for python in wrong location.
Re: Configuring JMP to run Python codeThanks Jarmo!
Adding Init Trace( "TRUE" ) to Python init() is a very resourceful command for debug.
I was using 32-bit Python while JMP 15 is a 64-bit program and supports only 64-bit Python. Changing to 64-bit Python fixed my issues
Below link has details on Python installation requirements
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/install-python.shtml#
Re: Configuring JMP to run Python codeI have a similar problem in Windows10 JMP15.2.0.
My python is 3.6.13 (Anaconda). I have also 2.7 installed.
In jmp, when I specify the Path in the Python Init(Path("correct path to python36.dll")) I get a hard crash. No trace.
Any suggestions are much appreciated.
e: Configuring JMP to run Python codeThe JMP 15 system requirements page says Python 3.6.5 or higher is recommended, so I'd try updating Python first.
Re: Configuring JMP to run Python codeThe only way that I was able to get Python to work, was to remove Anaconda, and to go directly to the Python site and download their version. JMP folks pointed me in that direction, indicating that Anaconda version of Python has problems with a a significant number of JMP users.Re: Configuring JMP to run Python codeTry just pointing to the Python library file. This has worked for me in the past. Something like
Python Init( Path( "C:\Python37-32\DLLs\python.dll" ) );
or wherever your .dll file is located.
Re: Configuring JMP to run Python codeAnaconda does not play well with others. It is designed to be THE Python environment. It issue with the crash is the when JMP tries to load the Python36.dll, the Python dll itself tries to load other necessary dlls. With the Anaconda environment it has those dlls in a place not in the standard dll search paths. The Python dll itself is crashing because it can't find its necessary dlls, which in turn causes JMP to terminate ungracefully.
Generally the only way to get Anaconda to work has been to install it System Wide for all users and make sure it is added to the PATH. Which is exactly what the Anaconda installer cautions against doing. The latest JMP 16, has additional support, as JMP tries to dynamically add Anaconda to the LoadLibrary Search path. And you will have to use the Python Init() optional parameters to have any success with Anaconda. It's a far more successful route to use Python from Python.org, and make sure you install then additional necessary packages with pip
pip install numpy pandas matplotlib
Depending on your version of JMP you may also need scipy and Qt5 packages.