Lanse Jupyter nan òbit LXD

Èske w te janm oblije fè eksperyans ak kòd oswa sèvis piblik sistèm nan Linux pou yo pa enkyete w sou sistèm debaz la epi yo pa dechire tout bagay an ka ta gen yon erè nan kòd la ki ta dwe kouri ak privilèj rasin?

Men, sa ki sou lefèt ke an n di ou bezwen teste oswa kouri yon gwoup antye nan divès kalite mikwosèvis sou yon sèl machin? Yon santèn oswa menm yon mil?

Avèk machin vityèl jere pa yon hypervisor, pwoblèm sa yo ka epi yo pral rezoud, men a ki pri? Pou egzanp, yon veso nan LXD ki baze sou distribisyon an Alpine Linux konsome sèlman 7.60MB RAM, ak kote patisyon rasin lan okipe apre demaraj 9.5MB! Ki jan ou renmen sa, Elon Musk? Mwen rekòmande tcheke deyò kapasite debaz nan LXD - yon sistèm veso nan Linux

Apre li te vin klè an jeneral ki sa ki resipyan LXD yo ye, ann ale pi lwen epi reflechi, e si ta gen yon platfòm harvester konsa kote ou ta ka san danje kouri kòd pou lame a, jenere graf, dinamik (entèaktif) konekte UI- widgets ak kòd ou a, konplete kòd la ak tèks ak blakjak... fòma? Kèk sòt de blog entèaktif? Wow... mwen vle li! Vle! 🙂

Gade anba chat kote nou pral lanse nan yon veso jupyter lab - pwochen jenerasyon an nan koòdone itilizatè olye pou yo demode Jupyter Kaye, epi nou pral tou enstale modil Python tankou numpy, Panda, matplotlib, IPyWidgets ki pral pèmèt ou fè tout sa ki nan lis pi wo a epi sove li tout nan yon dosye espesyal - yon laptop IPython.

Lanse Jupyter nan òbit LXD

Plan dekolaj òbital ^

Lanse Jupyter nan òbit LXD

Ann dekri yon plan aksyon kout pou rann li pi fasil pou nou aplike konplo ki pi wo a:

  • Ann enstale ak lanse yon veso ki baze sou twous distribisyon an Alpine Linux. Nou pral sèvi ak distribisyon sa a paske li se ki vize a minimalist epi yo pral enstale sèlman lojisyèl ki pi nesesè nan li, pa gen anyen initil.
  • Ann ajoute yon disk vityèl adisyonèl nan veso a epi bay li yon non - hostfs epi monte li sou sistèm fichye rasin lan. Disk sa a pral fè li posib yo sèvi ak dosye sou lame a ki soti nan yon anyè bay andedan veso a. Kidonk, done nou yo pral endepandan de veso a. Si yo efase veso a, done yo ap rete sou lame a. Epitou, konplo sa a itil pou pataje menm done yo ant anpil kontenè san yo pa itilize mekanis rezo estanda distribisyon veso a.
  • Ann enstale Bash, sudo, bibliyotèk ki nesesè yo, ajoute ak konfigirasyon yon itilizatè sistèm
  • Ann enstale Python, modil ak konpile depandans binè pou yo
  • Ann enstale ak lanse jupyter lab, Customize aparans la, enstale ekstansyon pou li.

Nan atik sa a nou pral kòmanse ak lanse veso a, nou pa pral konsidere enstale ak konfigirasyon LXD, ou ka jwenn tout bagay sa a nan yon lòt atik - Karakteristik debaz nan LXD - Linux sistèm veso yo.

Enstalasyon ak konfigirasyon sistèm debaz la ^

Nou kreye yon veso ak lòd la nan ki nou presize imaj la - alpine3, idantifyan pou veso a - jupyterlab epi, si sa nesesè, pwofil konfigirasyon:

lxc init alpine3 jupyterlab --profile=default --profile=hddroot

Isit la mwen ap itilize yon pwofil konfigirasyon hddroot ki presize pou kreye yon veso ak yon patisyon rasin nan Depo pisin ki sitiye sou yon disk HDD fizik:

lxc profile show hddroot

config: {}
description: ""
devices:
  root:
    path: /
    pool: hddpool
    type: disk
name: hddroot
used_by: []
lxc storage show hddpool

config:
  size: 10GB
  source: /dev/loop1
  volatile.initial_source: /dev/loop1
description: ""
name: hddpool
driver: btrfs
used_by:
- /1.0/images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
- /1.0/profiles/hddroot
status: Created
locations:
- none

Sa a ban m 'opòtinite pou fè eksperyans ak resipyan ki sou disk HDD a, ekonomize resous yo nan disk SSD, ki disponib tou nan sistèm mwen an 🙂 pou ki mwen te kreye yon pwofil konfigirasyon separe. ssdroot.

Apre veso a fin kreye, li nan eta a STOPPED, kidonk nou bezwen kòmanse li nan kouri sistèm init la nan li:

lxc start jupyterlab

Ann montre yon lis resipyan nan LXD lè l sèvi avèk kle a -c ki endike kiyès ckolòn ekspozisyon:

lxc list -c ns4b
+------------+---------+-------------------+--------------+
|    NAME    |  STATE  |       IPV4        | STORAGE POOL |
+------------+---------+-------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.198 (eth0) | hddpool      |
+------------+---------+-------------------+--------------+

Lè w kreye veso a, yo te chwazi adrès IP la owaza, paske nou te itilize yon pwofil konfigirasyon default ki te deja configuré nan atik la Karakteristik debaz nan LXD - Linux sistèm veso yo.

Nou pral chanje adrès IP sa a nan yon lòt ki pi memorab lè nou kreye yon koòdone rezo nan nivo veso a, epi yo pa nan nivo pwofil konfigirasyon jan li ye kounye a nan konfigirasyon aktyèl la. Ou pa bezwen fè sa, ou ka sote li.

Kreye yon koòdone rezo eth0 ke nou konekte ak switch la (pon rezo) lxdbr0 nan ki nou pèmèt NAT dapre atik anvan an ak veso a pral kounye a gen aksè a entènèt la, epi nou menm tou nou bay yon adrès IP estatik nan koòdone a - 10.0.5.5:

lxc config device add jupyterlab eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5

Apre ajoute yon aparèy, veso a dwe rekòmanse:

lxc restart jupyterlab

Tcheke estati veso a:

lxc list -c ns4b
+------------+---------+------------------+--------------+
|    NAME    |  STATE  |       IPV4       | STORAGE POOL |
+------------+---------+------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.5 (eth0)  | hddpool      |
+------------+---------+------------------+--------------+

Enstale lojisyèl debaz ak mete kanpe sistèm lan ^

Pou administre veso nou an, ou bezwen enstale lojisyèl sa a:

Pake
Deskripsyon

frape
Koki GNU Bourne Again la

bash-konplesyon
Fini pwogramasyon pou koki a bash

sudo
Bay sèten itilizatè yo kapasite pou yo kouri kèk kòmandman kòm rasin

lonbraj
Modpas ak zouti jesyon kont ak sipò pou dosye lonbraj ak PAM

tzdata
Sous pou zòn lè ak done lajounen

Nano
Pico editè script ak amelyorasyon

Anplis de sa, ou ka enstale sipò nan paj man sistèm yo lè w enstale pakè sa yo - man man-pages mdocml-apropos less

lxc exec jupyterlab -- apk add bash bash-completion sudo shadow tzdata nano

Ann gade kòmandman ak kle nou itilize yo:

  • lxc — Rele kliyan LXD
  • exec - LXD metòd kliyan ki kouri yon lòd nan veso a
  • jupyterlab - ID veso
  • -- - Yon kle espesyal ki presize pou pa entèprete plis kle kòm kle pou lxc epi pase rès fisèl la jan li ye nan veso a
  • apk - Manadjè pake distribisyon Alpine Linux
  • add — Yon metòd manadjè pake ki enstale pakè ki espesifye apre kòmandman an

Apre sa, nou pral mete yon zòn tan nan sistèm nan Europe/Moscow:

lxc exec jupyterlab -- cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Apre enstale zòn tan an, pake a tzdata pa nesesè ankò nan sistèm nan, li pral pran espas, kidonk ann efase li:

lxc exec jupyterlab -- apk del tzdata

Tcheke zòn tan an:

lxc exec jupyterlab -- date

Wed Apr 15 10:49:56 MSK 2020

Nan lòd pa pase anpil tan mete kanpe Bash pou nouvo itilizatè yo nan veso a, nan etap sa yo nou pral kopye dosye skel pare yo soti nan sistèm lame a nan li. Sa a pral pèmèt ou bèl Bash nan yon veso entèaktif. Sistèm lame mwen an se Manjaro Linux ak dosye yo ap kopye /etc/skel/.bash_profile, /etc/skel/.bashrc, /etc/skel/.dir_colors an prensip yo apwopriye pou Alpine Linux epi yo pa lakòz pwoblèm kritik, men ou ka gen yon distribisyon diferan epi ou bezwen poukont yo konnen si gen yon erè lè w ap kouri Bash nan veso a.

Kopi dosye skel yo nan veso a. Kle --create-dirs pral kreye repèrtwar ki nesesè yo si yo pa egziste:

lxc file push /etc/skel/.bash_profile jupyterlab/etc/skel/.bash_profile --create-dirs
lxc file push /etc/skel/.bashrc jupyterlab/etc/skel/.bashrc
lxc file push /etc/skel/.dir_colors jupyterlab/etc/skel/.dir_colors

Pou yon itilizatè rasin ki egziste deja, kopye dosye skel yo jis kopye nan veso a nan anyè lakay la:

lxc exec jupyterlab -- cp /etc/skel/.bash_profile /root/.bash_profile
lxc exec jupyterlab -- cp /etc/skel/.bashrc /root/.bashrc
lxc exec jupyterlab -- cp /etc/skel/.dir_colors /root/.dir_colors

Alpine Linux enstale yon kokiy sistèm pou itilizatè yo /bin/sh, nou pral ranplase li ak root itilizatè nan Bash:

lxc exec jupyterlab -- usermod --shell=/bin/bash root

Sa root itilizatè a pa t 'modpas, li bezwen mete yon modpas. Kòmandman sa a pral jenere epi mete yon nouvo modpas o aza pou li, ke ou pral wè sou ekran konsole a apre ekzekisyon li:

lxc exec jupyterlab -- /bin/bash -c "PASSWD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 12); echo "root:$PASSWD" | chpasswd && echo "New Password: $PASSWD""

New Password: sFiXEvBswuWA

Epitou, ann kreye yon nouvo itilizatè sistèm - jupyter pou ki nou pral konfigirasyon pita jupyter lab:

lxc exec jupyterlab -- useradd --create-home --shell=/bin/bash jupyter

Ann jenere epi mete yon modpas pou li:

lxc exec jupyterlab -- /bin/bash -c "PASSWD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 12); echo "jupyter:$PASSWD" | chpasswd && echo "New Password: $PASSWD""

New Password: ZIcbzWrF8tki

Apre sa, nou pral egzekite de kòmandman, premye a pral kreye yon gwoup sistèm sudo, ak dezyèm lan pral ajoute yon itilizatè nan li jupyter:

lxc exec jupyterlab -- groupadd --system sudo
lxc exec jupyterlab -- groupmems --group sudo --add jupyter

Ann wè ki gwoup itilizatè a fè pati jupyter:

lxc exec jupyterlab -- id -Gn jupyter

jupyter sudo

Tout bagay ok, ann kontinye.

Pèmèt tout itilizatè ki se manm gwoup la sudo sèvi ak lòd sudo. Pou fè sa, kouri script sa a, kote sed retire liy paramèt la nan dosye konfigirasyon an /etc/sudoers:

lxc exec jupyterlab -- /bin/bash -c "sed --in-place -e '/^#[ t]*%sudo[ t]*ALL=(ALL)[ t]*ALL$/ s/^[# ]*//' /etc/sudoers"

Enstale ak konfigirasyon JupyterLab ^

jupyter lab se yon aplikasyon Python, kidonk nou dwe premye enstale entèprèt sa a. Epitou, jupyter lab nou pral enstale lè l sèvi avèk manadjè a pake Python pip, epi li pa youn nan sistèm, paske li ka demode nan repozitwa sistèm lan e se poutèt sa, nou dwe manyèlman rezoud depandans yo pou li pa enstale pakè sa yo - python3 python3-dev gcc libc-dev zeromq-dev:

lxc exec jupyterlab -- apk add python3 python3-dev gcc libc-dev zeromq-dev

Ann mete ajou modil python ak manadjè pake pip nan vèsyon aktyèl la:

lxc exec jupyterlab -- python3 -m pip install --upgrade pip setuptools wheel

Enstale jupyter lab atravè manadjè pake pip:

lxc exec jupyterlab -- python3 -m pip install jupyterlab

Depi ekstansyon yo nan jupyter lab yo eksperimantal epi yo pa ofisyèlman anbake ak pake a jupyterlab, kidonk nou dwe enstale ak konfigirasyon li manyèlman.

Ann enstale NodeJS ak manadjè pake pou li - NPM, depi jupyter lab sèvi ak yo pou ekstansyon li yo:

lxc exec jupyterlab -- apk add nodejs npm

Pou ekstansyon pou jupyter lab ki nou pral enstale te travay, yo bezwen enstale nan anyè itilizatè a depi aplikasyon an ap lanse soti nan itilizatè a jupyter. Pwoblèm lan se ke pa gen okenn paramèt nan lòd lansman an ki ka pase nan yon anyè; aplikasyon an sèlman aksepte yon varyab anviwònman ak Se poutèt sa nou dwe defini li. Pou fè sa, nou pral ekri lòd ekspòtasyon varyab la JUPYTERLAB_DIR nan anviwònman itilizatè a jupyter, ranpli .bashrcki egzekite chak fwa itilizatè a konekte:

lxc exec jupyterlab -- su -l jupyter -c "echo -e "nexport JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab" >> .bashrc"

Pwochen lòd la pral enstale yon ekstansyon espesyal - manadjè ekstansyon nan jupyter lab:

lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager"

Koulye a, tout bagay pare pou premye lansman an jupyter lab, men nou ka toujou enstale kèk ekstansyon itil:

  • toc — Table of Contents, jenere yon lis tit nan yon atik / kaye
  • jupyterlab-horizon-theme - Tèm UI
  • jupyterlab_neon_theme - Tèm UI
  • jupyterlab-ubu-theme - Yon lòt ankò tèm nan men otè a atik sa a :) Men, nan ka sa a, yo pral montre enstalasyon ki soti nan depo GitHub la

Se konsa, kouri kòmandman sa yo sekans pou enstale ekstansyon sa yo:

lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build @jupyterlab/toc @mohirio/jupyterlab-horizon-theme @yeebc/jupyterlab_neon_theme"
lxc exec jupyterlab -- su -l jupyter -c "wget -c https://github.com/microcoder/jupyterlab-ubu-theme/archive/master.zip"
lxc exec jupyterlab -- su -l jupyter -c "unzip -q master.zip && rm master.zip"
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build jupyterlab-ubu-theme-master"
lxc exec jupyterlab -- su -l jupyter -c "rm -r jupyterlab-ubu-theme-master"

Apre enstale ekstansyon yo, nou dwe konpile yo, depi deja, pandan enstalasyon, nou espesifye kle a --no-build pou ekonomize tan. Koulye a, nou pral akselere anpil nan konpile yo ansanm nan yon sèl kou:

lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter lab build"

Koulye a, kouri de kòmandman sa yo pou kouri li pou premye fwa jupyter lab. Li ta posib pou lanse li ak yon sèl kòmand, men nan ka sa a, lòd lanse a, ki difisil pou sonje nan tèt ou, yo pral vin chonje pa bash nan veso a, epi yo pa sou lame a, kote gen deja ase kòmandman. pou anrejistre yo nan listwa :)

Konekte nan veso a kòm yon itilizatè jupyter:

lxc exec jupyterlab -- su -l jupyter

Apre sa, kouri jupyter lab ak kle ak paramèt jan sa endike:

[jupyter@jupyterlab ~]$ jupyter lab --ip=0.0.0.0 --no-browser

Ale nan adrès la nan navigatè entènèt ou a http://10.0.5.5:8888 epi sou paj ki ouvri antre siy aksè ki ou pral wè nan konsole a. Kopi epi kole li sou paj la, epi klike sou Ouvri sesyon an. Apre ou fin konekte, ale nan meni ekstansyon ki sou bò gòch la, jan yo montre nan figi ki anba a, kote w ap mande w, lè w ap aktive manadjè ekstansyon an, pou w pran risk sekirite lè w enstale ekstansyon ki soti nan twazyèm pati pou ki lòd la. Devlopman JupyterLab pa responsab:

Lanse Jupyter nan òbit LXD

Sepandan, nou izole tout la jupyter lab epi mete l nan yon veso pou ekstansyon twazyèm pati ki mande epi sèvi ak NodeJS pa ka omwen vòlè done sou disk la lòt pase sa nou louvri andedan veso a. Ale nan dokiman prive ou sou lame a nan /home pwosesis ki soti nan veso a gen anpil chans pou yo reyisi, epi si yo fè sa, Lè sa a, ou bezwen gen privilèj sou dosye sou sistèm lame a, depi nou kouri veso a nan. mòd san privilèj. Dapre enfòmasyon sa a, ou ka evalye risk pou enkli ekstansyon nan jupyter lab.

Kreye kaye IPython (paj nan jupyter lab) yo pral kreye kounye a nan anyè lakay itilizatè a - /home/jupyter, men plan nou yo se divize done yo (pataje) ant lame a ak veso a, kidonk retounen nan konsole a epi sispann jupyter lab pa egzekite hotkey - CTRL+C epi reponn y sou demann. Lè sa a, mete fen nan sesyon entèaktif itilizatè a jupyter ranpli yon hotkey CTRL+D.

Pataje done ak lame a ^

Pou pataje done ak lame a, ou bezwen kreye yon aparèy nan veso a ki pèmèt ou fè sa epi pou fè sa, kouri lòd sa a kote nou presize kle sa yo:

  • lxc config device add — Kòmandman an ajoute konfigirasyon aparèy la
  • jupyter — Didantite veso ki ajoute konfigirasyon an
  • hostfs - ID aparèy. Ou ka mete nenpòt non.
  • disk — Yo endike kalite aparèy la
  • path — Espesifye chemen an nan veso a kote LXD pral monte aparèy sa a
  • source — Espesifye sous la, chemen an nan anyè sou lame a ke ou vle pataje ak veso a. Espesifye chemen an selon preferans ou yo
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks

Pou katalòg la /home/dv/projects/ipython-notebooks yo dwe mete pèmisyon pou itilizatè veso ki kounye a gen yon UID egal a SubUID + UID, gade chapit Sekirite. Privilèj Veso nan atik Karakteristik debaz nan LXD - Linux sistèm veso yo.

Mete pèmisyon an sou lame a, kote pwopriyetè a pral itilizatè a veso jupyter, ak varyab la $USER pral presize itilizatè lame ou a kòm yon gwoup:

sudo chown 1001000:$USER /home/dv/projects/ipython-notebooks

Bonjou, Mondyal! ^

Si ou toujou gen yon sesyon konsole louvri nan veso a ak jupyter lab, Lè sa a, rekòmanse li ak yon nouvo kle --notebook-dir pa mete valè a /mnt/hostfs kòm chemen an nan rasin nan laptops yo nan veso a pou aparèy la ke nou te kreye nan etap anvan an:

jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs

Lè sa a, ale nan paj la http://10.0.5.5:8888 epi kreye premye laptop ou a lè w klike sou bouton an sou paj la jan yo montre nan foto ki anba a:

Lanse Jupyter nan òbit LXD

Lè sa a, nan jaden an sou paj la, antre kòd la Python ki pral montre klasik la Hello World!. Lè w fin antre, peze CTRL+ENTER oswa bouton "jwe" ki sou ba zouti ki anlè a pou JupyterLab fè sa:

Lanse Jupyter nan òbit LXD

Nan pwen sa a, prèske tout bagay pare pou itilize, men li pral san enterè si nou pa enstale modil Python adisyonèl (aplikasyon plen véritable) ki ka elaji siyifikativman kapasite estanda Python nan. jupyter labSe poutèt sa, ann kontinye :)

PS Bagay la enteresan an se ke aplikasyon an fin vye granmoun jupyter anba non kòd Kaye Jupyter pa ale epi li egziste an paralèl ak jupyter lab. Pou chanje nan ansyen vèsyon an, swiv lyen an ajoute sifiks la nan adrès la/tree, ak tranzisyon an nan nouvo vèsyon an te pote soti ak sifiks la /lab, men li pa oblije espesifye:

Ogmante kapasite Python ^

Nan seksyon sa a, nou pral enstale modil Python pwisan tankou numpy, Panda, matplotlib, IPyWidgets rezilta yo ki entegre nan laptops jupyter lab.

Anvan enstale modil Python ki nan lis yo atravè manadjè pake a pip nou dwe premye rezoud depandans sistèm nan Alpine Linux:

  • g++ — Li nesesè pou konpile modil, paske kèk ladan yo aplike nan lang lan C ++ epi konekte ak Python nan ègzekutabl kòm modil binè
  • freetype-dev - depandans pou modil Python matplotlib

Enstale depandans:

lxc exec jupyterlab -- apk add g++ freetype-dev

Gen yon pwoblèm: nan eta aktyèl distribisyon an Alpine Linux, li pa pral posib yo konpile nouvo vèsyon an nan NumPy; yon erè konpilasyon ap parèt ke mwen pa t 'kapab rezoud:

eRÈ: Pa t 'kapab bati wou pou numpy ki sèvi ak PEP 517 epi yo pa ka enstale dirèkteman

Se poutèt sa, nou pral enstale modil sa a kòm yon pake sistèm ki distribye yon vèsyon ki deja konpile, men yon ti kras pi gran pase sa ki disponib kounye a sou sit la:

lxc exec jupyterlab -- apk add py3-numpy py3-numpy-dev

Apre sa, enstale modil Python atravè manadjè pake a pip. Tanpri pran pasyans paske kèk modil pral konpile epi yo ka pran kèk minit. Sou machin mwen an, konpilasyon te pran ~ 15 minit:

lxc exec jupyterlab -- python3 -m pip install pandas ipywidgets matplotlib

Netwaye kachèt enstalasyon yo:

lxc exec jupyterlab -- rm -rf /home/*/.cache/pip/*
lxc exec jupyterlab -- rm -rf /root/.cache/pip/*

Tès modil nan JupyterLab ^

Si w ap kouri jupyter lab, rekòmanse li pou modil ki fèk enstale yo aktive. Pou fè sa, nan yon sesyon konsole, klike sou CTRL+C kote ou genyen li kouri epi antre y pou sispann demann epi rekòmanse ankò jupyter lab pa peze flèch la moute sou klavye a pou yo pa antre nan lòd la ankò ak Lè sa a Enter pou kòmanse li:

jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs

Ale nan paj la http://10.0.5.5:8888/lab oswa rafrechi paj la nan navigatè w la, epi antre kòd sa a nan yon nouvo selil kaye:

%matplotlib inline

from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np

def f(m, b):
    plt.figure(2)
    x = np.linspace(-10, 10, num=1000)
    plt.plot(x, m * x + b)
    plt.ylim(-5, 5)
    plt.show()

interactive_plot = interactive(f, m=(-2.0, 2.0), b=(-3, 3, 0.5))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot

Ou ta dwe jwenn yon rezilta tankou nan foto ki anba a, ki kote IPyWidgets jenere yon eleman UI sou paj la ki entèaktif ak kòd sous la, epi tou matplotlib montre rezilta kòd la nan fòm yon foto kòm yon graf fonksyon:

Lanse Jupyter nan òbit LXD

Anpil egzanp IPyWidgets ou ka jwenn li nan leson patikilye isit la

Kisa ankò? ^

Byen fè si ou te rete epi rive nan fen atik la. Mwen fè espre pa afiche yon script pare-fè nan fen atik la ki ta enstale jupyter lab nan "yon sèl klike sou" ankouraje travayè yo :) Men, ou ka fè li tèt ou, paske ou deja konnen ki jan, li te kolekte kòmandman yo nan yon sèl script Bash :)

Ou kapab tou:

  • Mete yon non rezo pou veso a olye de yon adrès IP lè w ekri li nan yon senp /etc/hosts epi tape adrès la nan navigatè a http://jupyter.local:8888
  • Jwe ak limit resous pou veso a, pou sa li chapit la nan kapasite debaz LXD oswa jwenn plis enfòmasyon sou sit pwomotè LXD la.
  • Chanje tèm nan:

Lanse Jupyter nan òbit LXD

Ak plis ankò ou ka fè! Se tout. Mwen swete w siksè!

MIZAJOU: 15.04.2020/18/30 XNUMX:XNUMX - Korije erè nan chapit "Bonjou, Monn!"
MIZAJOU: 16.04.2020/10/00 XNUMX:XNUMX — Tèks korije epi ajoute nan deskripsyon deklanchman manadjè ekstansyon. jupyter lab
MIZAJOU: 16.04.2020/10/40 XNUMX:XNUMX — Korije erè yo te jwenn nan tèks la ak yon ti kras chanje pou pi bon chapit la "Enstale lojisyèl debaz ak mete kanpe sistèm nan"

Sous: www.habr.com

Add nouvo kòmantè