JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)JMP 18 帶來了原生 Python。這個開源 Python 安裝使用 conda 而不是 pip,但現在似乎已損壞。
https://github.com/industrial-data/pyJMP/
pyJMP 的工作方式是使用RunProgram()執行下列 bat 檔案。
set JMP_PYTHON_PTH=C:\ProgramData\miniforge_JMP
CALL %JMP_PYTHON_PTH%\Scripts\activate.bat %JMP_PYTHON_PTH%
SET current_path=%~dp0
echo %current_path:~0,-1%
SET notebook_file=jmp_addin_minimum_features.ipynb
SET notebook_file_path=%current_path%%notebook_file%
echo %notebook_file_path%
python --version jupyter 內核規格列表
start /wait /B "" jupyter nbconvert --execute --to notebook --inplace %notebook_file_path%
請注意,Python 首先被激活,然後我們呼叫 Jupyter 內部的函數。
以下錯誤僅發生在 JMP 18 中,它似乎調用了自己的 Python 安裝(v 3.11 而不是使用 conda 安裝的 3.10)。如果從 Windows 資源管理器或其他 cmd 執行該 .bat 文件,程式碼將會如預期運作。
C:\Program Files\JMP\JMPPRO\18>set JMP_PYTHON_PTH=C:\ProgramData\miniforge_JMP
C:\Program Files\JMP\JMPPRO\18>CALL C:\ProgramData\miniforge_JMP\Scripts\activate.bat C:\ProgramData\miniforge_JMP
C:\Users\MrX\AppData\Roaming\JMP\JMP\Addins\Predictor_Explainer
C:\Users\MrX\AppData\Roaming\JMP\JMP\Addins\Predictor_Explainer\jmp_addin_minimum_features.ipynb
<FONT color="#008000"><U><STRONG>Python 3.10.10 可用核心:python3 C:\ProgramData\miniforge_JMP\share\jupyter\kernels\python3</STRONG></U></FONT>
[NbConvertApp] Converting notebook C:\Users\MrX\AppData\Roaming\JMP\JMP\Addins\Predictor_Explainer\jmp_addin_minimum_features.ipynb to notebook
[NbConvertApp] ERROR | Module use of <FONT color="#FF0000"><U><STRONG>python311.dll</STRONG></U> </FONT>conflicts with this version of Python.
Traceback (most recent call last):
File \!"C:\ProgramData\miniforge_JMP\lib\site-packages\traitlets\traitlets.py\!", line 656, in get
value = obj._trait_values[self.name]
KeyError: 'kernel_dirs'
目前尚不清楚如何避免這種情況。有任何想法嗎?
自動化和腳本編寫視窗回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)請閱讀https://community.jmp.com/t5/JMPer-Cable/JMP-is-Pythonic-Enhanced-Python-Integration-in-JMP-18/ba-p/723997 。
上面列出的 PyJMP 套件可能無法在經過一些修改後與 v18 一起使用。
回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)確實,我們必須在某個時候重寫我們的Predictor Expander插件。
主要差異在於 JMP 18 使用 pip,而 pyJMP 使用 conda 套件。
對於某些不包含.whl(輪子)的情況,conda 仍然具有優勢,因為它包含特定作業系統二進位檔案而無需編譯。
回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)謝謝,保羅。
我理解這項挑戰並讚賞 JMP 18 中所做的努力。
不過,我不明白使用 RunProgram() 執行的 .bat 檔案如何干擾 JMP 18 Python env。
你有什麼猜測嗎?
回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)問題是,您的加載項是否依賴 JMP 運行 Python 程式碼?
我假設是的。僅JMP 18 使用 JMP 安裝的 Python。 JMP 本身會載入 python311 dll。因此,如果您的任何 Python 程式碼嘗試讓 JMP 運行需要載入 Python310.dll 的程式碼,您將收到錯誤訊息,因為 Python311.dll 已在 JMP 中載入並處於活動狀態。我們將python.exe 重新命名為jmp_python.exe,以防止Run Program() 在嘗試運行python.exe 或python3.exe 時意外找到JMP 的Python,因此您的批次腳本不應嘗試執行Python 3.11 執行檔(除非您正在嘗試在早期 JMP 18 EA 版本之一上執行此程式)。
您可能需要注意的一件事是,確保在批次檔中確保 conda 環境的 python310.dll 的 PATH 位於 JMP 執行目錄的路徑之前,因為 python311.dll 駐留在 JMP 執行目錄中。然而,我認為如果你的Python3.10正在執行,它將載入python310.dll。
回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)我按照保羅分享的想法找到了問題的根本原因(謝謝!)。
RunProgram() 啟動並將 JMP 安裝資料夾包含在 PATH 中。
C:\Program Files\JMP\JMP\18
C:\Program Files\JMP\JMPPRO\18
該資料夾包含 jmp_python.exe,也包含 python311.dll 等。
因此,為了避免出現問題,我更改了 .bat 腳本中的當前目錄。
回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)此外,JMP 中新的 Python 整合可能消除了對 PyJMP 的需求。其他依賴 PyJMP 的軟體包和工具可能可以重寫以使用新的 Python 整合。
回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)令我驚訝的是,不管文章中寫了什麼,它確實會產生幹擾。
我不知道如何,但當僅透過 Run Program() 從 JSL 呼叫 .bat 檔案時,Jupyter 會找到 JMP 18 核心。
回覆:JMP 18 Python 核心幹擾 miniconda Python 安裝(執行程式)JMP 18 安裝帶有 JMP 18.0 的 Python 3.11.5,以及安裝帶有 JMP 18.0.1 安全性更新的 Python 3.11.9。這使我們能夠提供內建跳轉包所需的深度整合。這樣做也因為許多人在配置 JMP 和 Python 協同工作時遇到了許多問題,以及解決了不同桌面的 Python 安裝不同的問題。
JMP 18 不再支援運行 JMP 提供的分發版之外的 Python。