Kein Modul namens 'pandas' gefundenIch führe ein JSL-Skript in JMP 18 aus, das Python verwendet. Unter macOS funktioniert alles einwandfrei, aber unter Windows erhalte ich folgende Fehlermeldung:
Traceback (most recent call last):
File "
", line 7, in
ModuleNotFoundError: No module named 'pandas'
In the embedded log is see following:
Creating: C:\\Users\\Admin\\AppData\\Roaming\\JMP\\JMP\\Python\\Python311\\site-packages
This tells me that JMP 18 doesn't install python automatically. Is there a pre-requisite for python be installed?
I am also trying to install this way to ensure the script doesn't fail irrespective of the system:
Python Submit("
import jmputils
required_packages = ['pandas', 'numpy']
# get list of installed python packages
installed = jmputils.jpip('list')
# check & install missing packages
for pkg in required_packages:
if pkg.lower() not in [p.lower() for p in installed]:
print(f'{pkg} not installed — installing...')
jmputils.jpip('install', pkg)
else:
print(f'{pkg} is already installed.')
jmputils.jpip('list')
");
Automatisierung und SkripterstellungBetreff: Kein Modul namens 'pandas'Meines Wissens wird dieser Ordner in JMP18 beim ersten Start von Python automatisch hinzugefügt, und Sie können dies höchstwahrscheinlich erzwingen, indem Sie beispielsweise folgenden Befehl ausführen:
Python Submit("import jmp");
im JMP-Skripteditor
Betreff: Kein Modul namens 'pandas' gefundenEine Fehlermeldung von Python ist ein klares Zeichen dafür, dass Python installiert ist ; )
Um Python-Pakete über JSL zu installieren, verwenden Sie bitte:
Python Install Packages( "numpy pandas" );

Betreff: Kein Modul namens 'pandas' gefundenDanke, ja, es hat das Python-Verzeichnis und einige Pakete erstellt. Unten:
Python Submit("
import jmputils
required = ['pandas', 'numpy']
# Get installed packages safely
installed = jmputils.jpip('list')
if installed is None:
installed = []
print('Installed packages:', installed)
# Install missing ones
for pkg in required:
if pkg.lower() not in [p.lower() for p in installed]:
print(f'{pkg} not installed — installing...')
jmputils.jpip('install', pkg)
else:
print(f'{pkg} already installed.')
import pandas as pd
import numpy as np
print('pandas and numpy imported successfully!')
");
Betreff: Kein Modul namens 'pandas' gefundenJa, das hat mir geholfen, sicherzustellen, dass der Ordner hinzugefügt wird. Danke.
Betreff: Kein Modul namens 'pandas' gefundenDie Verwendung dieses Imports ist eine der Prüfungen, die wir in unseren JMP-Python-Anwendungen durchführen, um sicherzustellen, dass alles korrekt eingerichtet ist.
Ich zögere aus verschiedenen Gründen noch mit der Verwendung von JMP19, aber es wird die JMP-Python-Integration vereinfachen. Soweit ich mich erinnere, wird sie in JMP19 nicht mehr nötig sein, ich habe das aber noch nicht überprüft. JMP19 wird auch die Überprüfung der Paketinstallation vereinfachen, da jmputils die Methode „is_installed“ erhält.
Betreff: Kein Modul namens 'pandas' gefundenIn JMP 18 erfolgte das Entpacken der Datei site-packages.zip und das Erstellen des Verzeichnisses durch das Skript jsite.py. JMP 19 erledigt dies intern in C++-Code beim ersten Start von Python. Das Skript jsite.py dient weiterhin als Backup für den Fall, dass die Befehlszeilenskripte jpip.bat oder jpip-Shell-Skripte durch den Python-Befehl `Create JPIP CMD()` bzw. dessen Python-Äquivalent `jmputils.create_jpip(dest_path)` generiert werden.
JMP 19 verbessert die skriptbasierte Paketverwaltung durch die Hinzufügung von `jmputils.is_installed('package_name')`, `jmputils.package_version('package_name')` und `pkg_dict = jmputils.packages()`. Diese Funktionen wurden erst später in Version 19.0 implementiert; sie sind zwar vorhanden, aber nicht im Skriptindex dokumentiert. Spätere Updates enthalten jedoch Beispiele im Skriptindex.