Jupter Notebook에서 wxptyhon[mac]
저는 wxpytohon을 이용한 응용 개발에 종사하고 있으며 Jupyter Notebook을 사용하여 진행하고 싶었지만 환경 구축에 시간이 좀 걸려서 필기를 했습니다.
Anaconda를 놓은 상태에서 Jupter NoteBook에서 wxptyhon을 사용할 수 있을 때까지 정리합니다.
운영 환경
Mac OS High Sierra 10.13.3
Anaconda로 가상 환경 구축
우선 wxpythhon을 사용하는 가상 환경을 만듭니다.
conda-create
$ conda create -n wxenv python=3.6 anaconda
$ conda info -e
wxenv /Users/username/anaconda3/envs/wxenv
root * /Users/username/anaconda3
conda info -e
명령이 가상 환경을 만들었는지 확인할 수 있습니다.wxptyhon 설치
가상 환경에 들어가다.
conda-activate
$ source activate wxenv
가상 환경 사용 명령을 종료합니다.conda-deactivate
(wxenv)$ source deactivate
가상 환경에 wxptyhon을 설치합니다.install-wxpython
(wxenv)$ conda install wxpython
Jupyter의 커널 만들기Jupter Notebook에서 wxpython을 사용하는 코드를 실행하면 다음 오류가 발생합니다.
error-message
This program needs access to the screen. Please run with a Framework build of python, and only when you are logged in on the main display of your Mac.
이 문제를 해결하려면 명령을 써도 될 것 같다.Please run with 'pythonw', not 'python' — cannot make plots in python/ipython from cmd line OSX
deactivate
의 내핵을 제작하고 실행한다.내핵의 제작
케네르 제작은 다양한 수단을 소개했다.
다음 사이트에 따라 제작되었습니다.
Jupyter에서kernel을 전환해도 제대로 작동하지 않는 상황에서의 해결 방법
명령에 사용되는 핵을 확실하게 인정할 수 있다.
kernel-list
(wxenv)$ jupyter kernelspec list
Available kernels:
python3 /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/python3
커널을 추가합니다.create-kernel
(wxenv)$ conda install notebook ipykernel
(wxenv)$ ipython kernel install --user --name wxpython --display-name wxpython
Installed kernelspec wxpython in /Users/username/Library/Jupyter/kernels/wxpython
pythonw
에 이름을 지정하지 않으면 기존 Python 3의 kerner를 덮어씁니다.pythonw
에서 Jupter Notebook의 태그를 변경할 수 있습니다.커널이 추가되었는지 확인합니다.
kernel-list2
(wxenv)$ jupyter kernelspec list
Available kernels:
python3 /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/python3
wxpython /Users/username/Library/Jupyter/kernels/wxpython
기존 핵의 저장 위치와 다른 곳에 wxptyhon이 저장되어 있습니다.가상 환경에서만 사용하기 때문에 기존의 핵과 같은 곳으로 옮긴다.
kernel-list2
(wxenv)$ mv /Users/username/Library/Jupyter/kernels/wxpython /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/wxpython
(wxenv)$ jupyter kernelspec list
Available kernels:
python3 /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/python3
wxpython /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/wxpython
기존의 핵을 지우면 그 폴더는 사라진다.remove-kernel
(wxenv)$ jupyter kernelspec list
Available kernels:
python3 /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/python3
wxpython /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/wxpython
(wxenv)$ rm -r /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/wxpython
(wxenv)$ jupyter kernelspec list
Available kernels:
python3 /Users/username/anaconda3/envs/wxenv/share/jupyter/kernels/python3
명령의 변경커널에서 사용하는 명령은 커널이 저장된 폴더의kerner입니다.제이슨에 쓰다.
kernel.json
{
"argv": [
"/Users/username/anaconda3/envs/wxenv/bin/python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "wxpython",
"language": "python"
}
서류 속의 jupyter kernelspec list
를 --name NAME
로 바꾸어 보존하다.이렇게 하면 wxptyhon을 사용할 수 있다.
테스트
Jupter Notebook을 열고 kernel을 변경합니다.
다음 샘플 코드를 실행합니다
sample-code
import wx
application = wx.App()
frame = wx.Frame(None, wx.ID_ANY, 'testframe')
frame.Show()
application.MainLoop()
테스트 프레임이라는 창이 뜨면 OK.최후
대체로 Jupter Notebook에서 wxpython을 사용할 수 있으니 작업이 진전될 것이다.
(더 좋은 방법이 있거나 이 방법에 문제가 있을지도 모른다.)
인용하다
Please run with 'pythonw', not 'python' — cannot make plots in python/ipython from cmd line OSX
Jupyter에서kernel을 전환해도 제대로 작동하지 않는 상황에서의 해결 방법
Jupter Notebook을 설치하고 설정하여 학습 노트 제작 환경을 만들기[Mac]
How to use wxpython in an ipython notebook or console
Reference
이 문제에 관하여(Jupter Notebook에서 wxptyhon[mac]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/stktu/items/2fdb35e5b9aa3bebd526텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)