miniconda Python 설치를 방해하는 JMP 18 Python 커널(프로그램 실행)JMP 18은 기본 Python을 제공합니다. 이 오픈 소스 Python 설치는 pip 대신 conda를 사용하지만 현재는 손상된 것 같습니다.
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 내부에서 함수를 호출합니다.
다음 오류는 자체 Python 설치(conda로 설치된 3.10 대신 v 3.11)를 호출하는 것으로 보이는 JMP 18에서만 발생합니다. 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'
이를 피하는 방법은 불분명합니다. 어떤 아이디어가 있나요?
자동화 및 스크립팅윈도우Re: miniconda Python 설치를 방해하는 JMP 18 Python 커널(프로그램 실행)https://community.jmp.com/t5/JMPer-Cable/JMP-is-Pythonic-Enhanced-Python-Integration-in-JMP-18/ba-p/723997 을 읽어보세요.
위에 나열된 PyJMP 패키지는 일부 수정을 통해 v18에서 작동하지 않을 가능성이 높습니다.
Re: miniconda Python 설치를 방해하는 JMP 18 Python 커널(프로그램 실행)사실, 어느 시점에서는 Predictor explainer 추가 기능을 다시 작성해야 합니다.
주요 차이점은 JMP 18은 pip를 사용하고 pyJMP는 conda 패키지를 사용한다는 것입니다.
.whl(휠) 이 포함되지 않은 일부 경우에는 컴파일할 필요 없이 특정 OS 바이너리를 포함하므로 conda가 여전히 유리합니다.
Re: miniconda Python 설치를 방해하는 JMP 18 Python 커널(프로그램 실행)고마워요, 폴.
저는 이러한 어려움을 이해하고 JMP 18에서 기울인 노력에 감사드립니다. 이것이 바로 우리가 PyJMP를 개발하고 데이터를 주고받기 위해 임시 텍스트 파일을 작성하게 된 이유입니다.
그래도 RunProgram()으로 실행된 .bat 파일이 어떻게 JMP 18 Python 환경을 방해하는지 이해가 되지 않습니다.
추측이 있으신가요?
Re: miniconda Python 설치를 방해하는 JMP 18 Python 커널(프로그램 실행)문제는 귀하의 추가 기능이 Python 코드를 실행하는 JMP에 의존합니까?입니다.
나는 그렇다고 가정합니다. JMP 18 전용 JMP가 설치하는 Python을 사용합니다. JMP 자체는 python311 dll을 로드합니다. 따라서 Python 코드 중 하나라도 Python310.dll을 로드해야 하는 코드를 실행하기 위해 JMP를 가져오려고 하면 Python311.dll이 이미 로드되어 JMP 내에서 활성화되어 있으므로 오류가 발생합니다. Python.exe 또는 python3.exe를 실행하려고 할 때 Run Program()이 실수로 JMP의 Python을 찾는 것을 방지하기 위해 python.exe의 이름을 jmp_python.exe로 변경했습니다. 따라서 배치 스크립트는 Python 3.11 실행 파일을 실행하려고 시도해서는 안 됩니다. 초기 JMP 18 EA 릴리스 중 하나에서 이를 실행하려고 합니다.)
살펴보아야 할 한 가지는 배치 파일에서 conda 환경의 python310.dll에 대한 PATH가 JMP 실행 가능 디렉터리의 경로보다 앞에 있는지 확인하는 것입니다. python311.dll은 JMP 실행 가능 디렉터리에 있기 때문입니다. 그러나 Python3.10이 실행 중이라면 python310.dll이 로드될 것이라고 생각합니다.
Re: miniconda Python 설치를 방해하는 JMP 18 Python 커널(프로그램 실행)Paul이 공유한 아이디어에 따라 문제의 근본 원인을 찾았습니다(감사합니다!).
RunProgram()이 시작되고 PATH에 JMP 설치 폴더가 포함됩니다.
C:\Program Files\JMP\JMP\18
C:\Program Files\JMP\JMPPRO\18
이 폴더에는 jmp_python.exe뿐만 아니라 python311.dll 및 기타 항목도 포함되어 있습니다.
따라서 문제를 피하기 위해 .bat 스크립트에서 현재 디렉터리를 변경했습니다.
Re: JMP 18 Python 커널이 miniconda Python 설치를 방해함(프로그램 실행)또한, JMP의 새로운 파이썬 통합은 아마도 PyJMP의 필요성을 없앨 것입니다. PyJMP에 의존하는 다른 패키지와 도구는 아마도 새로운 파이썬 통합을 사용하도록 다시 작성될 수 있을 것입니다.
Re: JMP 18 Python 커널이 miniconda Python 설치를 방해함(프로그램 실행)놀랍게도, 기사에 쓰여진 내용과는 달리 실제로 방해가 됩니다.
어떻게 그런지는 모르겠지만, JSL에서 Run Program()을 통해 .bat 파일이 호출될 때만 Jupyter가 JMP 18 커널을 찾습니다.
Re: JMP 18 Python 커널이 miniconda Python 설치를 방해함(프로그램 실행)JMP 18은 JMP 18.0과 함께 Python 3.11.5를 설치하고, JMP 18.0.1 보안 업데이트와 함께 3.11.9를 설치합니다. 이를 통해 내장된 제이엠피 패키지를 제공하는 데 필요한 심층적인 통합을 제공할 수 있습니다. 또한 많은 사람이 JMP와 Python을 함께 작동하도록 구성하는 데 많은 문제가 있었고, 데스크톱마다 Python 설치가 다르다는 문제를 해결하기 위해 이 작업을 수행했습니다.
JMP 18은 더 이상 JMP와 함께 제공되는 배포판 이외의 Python 실행을 지원하지 않습니다.