Julia v1.1.0을 확장한 Docker, Jupyter와 Atom부터 사용하세요.
이 보도는 이미 유행이 지났으니 한번 보세요.
오늘
요즘은 마음이 나빠졌는데 요즘은 조금 살아났어요.요즘은 파이썬 말고 줄리아만 써요.
Juria Editor는 현재 Atom에서 Juno의 IDE 환경으로 가져옵니다.
https://github.com/terasakisatoshi/MyWorkflow.jl
위의 그림에서 보듯이, 도표를 그리는 코드를 그렸다고 가정하십시오.출력 결과는 다른 창으로 출력되지 않으며, 오른쪽에는 도표가 출력되어 Atom에서 완성할 수 있습니다.
Juria의 Docker 컨테이너와 함께 작업할 수 있습니다.
Juno의 문서에서
있죠.나는 이 사용법을 설명하고 싶다.이렇게 하면 컨테이너에서 이동하는 Juria 차트와 같은 출력 결과도 위의 그림과 같이 UI에 나타날 수 있습니다.
Docker file 만들기
자주 사용하기 때문에 Atom뿐만 아니라
Dockerfile
FROM julia:1.1.0
MAINTAINER SATOSHI TERASAKI
# for Jupyter
EXPOSE 8888
RUN apt-get update
# to get python(Anaconda) via PyCall
RUN apt-get install -yq bzip2 python3-tk
# to build PackageCompiler
RUN apt-get install -yq build-essential
# Prepare Julia Packages
RUN julia -e 'ENV["PYTHON"]=""; using Pkg;Pkg.add(["PyCall", "Conda"])'
# adjust Python version, you can skip it
RUN julia -e 'using Pkg, Conda; Conda.add("python=3.6.*"); Pkg.build("PyCall"); using PyCall'
# install jupyter via Conda package
RUN julia -e 'using Pkg, Conda; Conda.add("jupyter"); Pkg.add("IJulia"); using IJulia'
# enable to call python and jupyter from bash
ENV PATH="/root/.julia/conda/3/bin:$PATH:${PATH}"
# install PyPlot and Sympy
RUN julia -e 'using Pkg, Conda; Conda.add("matplotlib"); Pkg.add("PyPlot"); using PyPlot'
# install SymPy
RUN julia -e 'using Pkg, Conda; Conda.add("sympy"); Pkg.add("SymPy"); using SymPy'
# for Juno(IDE; extension of Atom Editor)
RUN julia -e 'using Pkg; Pkg.add(["Atom", "Juno"])'
# add PackageCompiler to build Package or generate executable module
RUN julia -e 'using Pkg; Pkg.add("PackageCompiler"); using PackageCompiler'
# install Plots
RUN apt-get install -y qt5-default
RUN julia -e 'using Pkg; Pkg.add(["UnicodePlots", "GR", "Plots"]);\
using UnicodePlots, GR, Plots'
#compile Plots to reduce overhead of `using Plots`
RUN julia -e 'using Pkg;\
using PackageCompiler; compile_package("Plots",force=true);\
using Plots'
RUN apt-get install 섹션을 요약하거나 정리 명령--no-install-recommends
옵션을 추가하면 이미지 크기를 줄일 수 있습니다.구축
myjulia
라는 차가운 이름으로 이미지를 형상화했다.$ cd /path/to/this/Dockerfile
$ docker build -t myjulia .
제정된 방침Docker file의 지침이 적혀 있으니 사용 방법을 알고 싶은 사람은 다음 장으로 넘어가세요.
확장 방정식 이미지
julia -e 'コード'
에서 케이스에서 코드를 실행할 수 있음RUN julia -e 'using Pkg; Pkg.add("導入したいパッケージ名")'
에서 가져올 패키지를 가져옵니다.파이썬 버전 조정
PyCall에서 Anaconda를 가져옵니다.
bzip2
apt-get
에 의존하는 것 같아서 가져왔어요.이때 파이썬의 버전은 3.7인 것 같다.여러 가지 이유로 3.6이나 다른 버전이 되고 싶다면 $ conda install python=3.6.*
에 해당한다.RUN julia -e 'using Pkg, Conda; Conda.add("python=3.6.*")'
쓰기로 해결하다.그러나 PyCall의 버전이 바뀌었기 때문에 Pkg.build("PyCall")
처럼 PyCall을 재구성해야 한다(그렇지 않으면 using PyCall
실패).Python 측면의 라이브러리 가져오기
주리아의 콘다.jl 패키지로 가져옵니다.
Conda.add("Pythonのライブラリ")
형식으로 가져옵니다.다음 예에서는 Python의 라이브러리와 이에 대응하는 Juria 패키지를 가져왔습니다.
RUN julia -e 'using Pkg, Conda; Conda.add("jupyter"); Pkg.add("IJulia")'
RUN julia -e 'using Pkg, Conda; Conda.add("matplotlib"); Pkg.add("PyPlot")'
RUN julia -e 'using Pkg, Conda; Conda.add("sympy"); Pkg.add("SymPy")'
psyhon과jupyer의 실행 모듈이 /root/.julia/conda/3/bin
에 설정되어 있기 때문에 용기 케이스에서 그것을 호출하려고 추가 경로를 추가합니다.이것은 다음과 같은 설정ENV
을 통해 실현할 수 있다.ENV PATH="/root/.julia/conda/3/bin:${PATH}"
Atom(Juno)과 함께 작업하는 경우Docker의 컨테이너 측면에서 가져오는 포장
Atom
과 포장Juno
이 필요합니다.RUN julia -e 'using Pkg; Pkg.add(["Atom", "Juno"])'
Package Compuiler를 통한 고속화using Plots
(옵션)https://hub.docker.com/_/julia에서 시스템 패키지 읽기가 느린 문제를 해결합니다.JIT 컴파일 오버헤드 제거
RUN julia -e 'using Pkg;\
Pkg.add("PackageCompiler");\
using PackageCompiler; compile_package("Plots",force=true)'
자신의 맥북 에어 2018년 모델로 Docker file을 구축하면QuartzImageIO
경고화면 근처 건물은 실패했지만 다른 우분투 기계로 진행하면 성공했다.신비롭다.사용(Atom에서)
Atom에서 터미널 시작
Atom+Juno를 가져온 Ubuntu 시스템을 가정합니다.
Ctrl+Shift+p
에서 얻은 명령 트레이에terminal을 입력합니다.PackageCompiler
Julia Client:New Terminal
를 클릭하여 Atom의 UI의 일부로 Terminal을 엽니다.이 테미나르는 Atom을 사용할 필요가 없고 일반적인 터미널을 켜도 문제가 없다.아톰에서 하고 싶은지 안 하고 싶은지의 차이점.Remark
위 사진 속 콘스토어는 안 될 것 같아서 해봤는데 호스트 쪽 쥬리아의 환경이 일어나서 제대로 진행되지 못했어요.그러니까 이번엔 이거 안 써도 돼!!!
쥬리아의 컨테이너 만들기
위 영역에 생성된 터미널에서 다음 작업을 수행합니다.
$ sudo docker run -it --network=host --rm myjulia:latest julia
그러면 다음 그림과 같은 화면을 얻을 수 있다.QuartzImageIO
주위에 경고가 있으니 무시합니다.Julia Client: Connect External Process
명령 트레이
Julia Client: Connect External Process
를 누릅니다.이렇게 되면 아톰과 줄리아의 과정이 연합할 수 있을 것 같아요.그러면 아래의 파란색 화면을 얻을 수 있다.
using Atom; using Juno; Juno.connect(42391)
컨테이너로 이동 중인 Juria REPL(위에서 시작하는 터미널)로 복사합니다.Juno.connect의 번호는 각자의 환경에 달려 있다.아톰 측에서 접속 성공에 대한 알림이 왔기 때문에 그걸 확인하면 성공이야.
QuartzImageIO
주위에 경고가 있으니 무시합니다.이렇게 하면 아톰과 컨테이너가 합작할 수 있다.
그리고 Atom에 적당한 코드를 쓰면 실행할 수 있습니다.작업 디렉터리를 마운트하지 않아도 이동할 수 있죠.가볍고 유쾌하다.
Ctrl+Shift+Enter
욕먹어서 못 찾겠어. 여기서 무시할게.사용(Jupter부터)
다음은 Atom과 관계없이 사용할 수 있습니다.터미널을 열고 다음을 수행합니다.
$ sudo docker run --rm -it -p 8888:8888 myjulia:latest jupyter notebook --ip=0.0.0.0 --allow-root
그렇다면 다음과 같은 기록을 얻을 수 있을 것이다. To access the notebook, open this file in a browser:
file:///root/.local/share/jupyter/runtime/nbserver-1-open.html
Or copy and paste one of these URLs:
http://(4c245d2f219b or 127.0.0.1):8888/?token=ほにゃららららら
호스트 측 브라우저 환경에서 액세스이렇게 되면 아래 로그인 화면이 나온다.http://localhost:8888
여기서는 위 로그
libQt5Widgets.so.5
이하의 문자열token=
을 복사하여 평소의 Jupyter 순으로 사용할 수 있습니다.총결산
Reference
이 문제에 관하여(Julia v1.1.0을 확장한 Docker, Jupyter와 Atom부터 사용하세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SatoshiTerasaki/items/896c59dbe1432f926552텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)