cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
ravi_sasjmp
Level II

Configuring JMP to run Python code

I'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!

7 REPLIES 7
jthi
Super User

Re: Configuring JMP to run Python code

These 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-integra...

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.

-Jarmo
ravi_sasjmp
Level II

Re: Configuring JMP to run Python code

Thanks 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#

 

mmarchand
Level I

Re: Configuring JMP to run Python code

Try 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.

ragnarl
Level II

Re: Configuring JMP to run Python code

I 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. 

mmarchand
Level I

e: Configuring JMP to run Python code

The JMP 15 system requirements page says Python 3.6.5 or higher is recommended, so I'd try updating Python first.

txnelson
Super User

Re: Configuring JMP to run Python code

The 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.
Jim

Re: Configuring JMP to run Python code

Anaconda 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.