Anaconda non gioca bene con gli altri, vuole avere il controllo completo dell'ambiente. Fa alcune cose non standard con percorsi di libreria e inizializzazione. Per avere successo con Anaconda, il modo sottile in cui sono riuscito è utilizzare gli argomenti opzionali per l'istruzione Python Init(). È necessario utilizzare entrambi gli argomenti Python Sys Path() e Path(). Il primo prende sys.path così come lo vede la versione specifica di Python ed è sotto forma di un elenco JSL.
sistema di importazione
print(sys.percorso)
L'argomento Path() dovrebbe essere il percorso completo di python3x.dll, uno nell'ambiente virtuale se è quello che stai cercando di usare. JMP 16.2 Windows tenta di aggiungere ulteriori percorsi di libreria Anaconda al percorso LoadLibrary di JMP per poter trovare le librerie condivise di cui Anaconda ha bisogno.
L'altro punto è che se stai tentando di eseguire da un ambiente virtuale Python, tu dovere utilizzare l'argomento Python Sys Path(). Il meccanismo predefinito per individuare Python cerca nel registro e gli ambienti virtuali non sono nel registro da trovare, solo le installazioni predefinite come la base Anaconda.
CIAO @ab_datascience ,
Molto probabilmente i pacchetti specificati (matplotlib, pandas, ecc.) sono installati in una posizione a cui JMP non può accedere.
Cause comuni potrebbero essere correlate a pacchetti installati in ambienti virtuali o all'interno di cartelle con autorizzazioni limitate.
Verifica che i pacchetti richiesti siano disponibili gratuitamente per tutti gli utenti sulla tua macchina.
La pagina della documentazione di JMP riportata di seguito offre alcune indicazioni aggiuntive:
https://www.jmp.com/support/help/en/16.0/#page/jmp/install-python.shtml#
CIAO,
Ho visto qualcuno avere successo con la configurazione di Python e JMP utilizzando un ambiente Anaconda che contiene TensorFlow nel seguente link ( Integrazione di JMP con Anaconda Python e Tensorflow ). Voglio fare la stessa cosa. Tuttavia, se seguo i passaggi descritti in quel collegamento, continua a non funzionare per me. Penso che ciò sia dovuto al fatto che sto utilizzando una versione più recente di JMP Pro (ho JMP Pro 16.2).
Finora, ho provato a seguire la documentazione di JMP e alcuni consigli in altri thread del forum. Ho fatto le seguenti cose:
- controllato che JMP, Python e Windows abbiano tutti gli stessi bit (sono tutti a 64 bit)
- impostato JMP_LIB_PYTHON_PATH in C:\Utenti\xxxxxxxx\Anaconda3\envs\jmp_dl\python38.dll (accessibile tramite Pannello di controllo di Windows 10 Pro > Sistema > Impostazioni di sistema avanzate > Variabili d'ambiente)
- impostato JMP_PYTHON_MODULE_PATH in C:\Users\xxxxxxxx\Anaconda3\envs\jmp_dl\Lib (accessibile come sopra)
Quando eseguo il seguente codice:
Names Default To Here( 1 );
Python Init(Init Trace("TRUE"));
Show(Python Get Version());
Python Term();
ottengo il seguente output:
C:\Users\xxxxxxxxx\Anaconda3\envs\jmp_dl\python38.dll
Starting JMP to Python interface initialization
AFTER:
/**********/
print(_JMPsys.path)
/**********/
['C:\\Users\\xxxxxxxxx\\Anaconda3\\envs\\jmp_dl\\Lib']
/**********/
# Import the numpy module for array and matrix support
import numpy as _JMPnp
/**********/
/**********/
# Import the pandas module for Series/Data Frame support
import pandas as _JMPpd
/**********/
/**********/
# Import the sqlite3 module for Series/Data Frame support
import sqlite3 as _JMPsq
/**********/
/**********/
# Import the matplotlib module for 2D plotting
import matplotlib as _JMPmpl
/**********/
/**********/
# Set matplot lib to use non-gui backend Agg.
_JMPmpl.use('Agg')
/**********/
/**********/
# Import the matplotlib.pyplot module for plots
import matplotlib.pyplot as _JMPpp
/**********/
Unable to import the 'numpy' Python module
in access or evaluation of 'Python Init' , Python Init/*###*/(Init Trace( "TRUE" ))
Unable to import the 'pandas' Python module
in access or evaluation of 'Python Init' , Python Init/*###*/(Init Trace( "TRUE" ))
Unable to import the 'sqlite3' Python module
in access or evaluation of 'Python Init' , Python Init/*###*/(Init Trace( "TRUE" ))
Unable to import the 'matplotlib' Python module
in access or evaluation of 'Python Init' , Python Init/*###*/(Init Trace( "TRUE" ))
at line 3 in C:\Users\xxxxxxxxxx\xxxxxxxx\Documents\python_code_for_jmp_1.jsl
Python Get Version() = {3, 8, 10, "final", 0};
0
Cosa importante da notare: sta trovando la versione corretta di Python (3.8.10, che viene utilizzata solo in quell'ambiente Anaconda).
Quello che non trova è nessuno dei moduli Python (matplotlib, numpy, pandas) o sqlite3 ecc.
Ho provato a fare anche altre cose, ma tutte si traducono in 1) arresto completo/arresto anomalo di JMP Pro 16.2 o 2) una sorta di avviso JMP.
Qualcuno può guidarmi attraverso il processo di configurazione delle mie variabili d'ambiente di Windows 10 Pro in modo tale che JMP Pro 16.2 trovi non solo la versione corretta di Python, ma anche tutti i moduli Python di cui ha bisogno.
Tutte le idee molto sarebbero apprezzate! Grazie.