Hleypur Jupyter í LXD sporbraut

Hefur þú einhvern tíma þurft að gera tilraunir með kóða eða kerfisforrit í Linux til að hafa ekki áhyggjur af grunnkerfinu og ekki rífa allt niður ef villur koma upp í kóðanum sem ætti að keyra með rótarréttindum?

En hvað um þá staðreynd að við skulum segja að þú þurfir að prófa eða keyra heilan þyrping af ýmsum örþjónustum á einni vél? Hundrað eða jafnvel þúsund?

Með sýndarvélum sem stjórnað er af hypervisor geta slík vandamál og verður leyst, en á hvaða kostnaði? Til dæmis, ílát í LXD sem byggir á Alpine Linux dreifingu eyðir aðeins 7.60MB vinnsluminni og hvar rótarskiptingin tekur við eftir ræsingu 9.5MB! Hvernig líkar þér það, Elon Musk? Ég mæli með að kíkja grunngetu LXD - gámakerfis í Linux

Eftir að það varð almennt ljóst hvað LXD gámar eru, skulum við ganga lengra og hugsa, hvað ef það væri til slíkur uppskeruvettvangur þar sem þú gætir örugglega keyrt kóða fyrir gestgjafann, búið til línurit, tengt UI-græjur á virkan hátt (gagnvirkt) við kóðann þinn, bæta kóðanum með texta með blackjack... formatting? Einhvers konar gagnvirkt blogg? Vá... mig langar í það! Langar í! 🙂

Horfðu undir köttinn þar sem við munum sjósetja í gámi Jupyter rannsóknarstofu - næsta kynslóð notendaviðmóts í stað úreltu Jupyter Notebook, og við munum einnig setja upp Python einingar eins og Numpy, Pandas, matplotlib, IPyWidgets sem gerir þér kleift að gera allt sem talið er upp hér að ofan og vista það allt í sérstakri skrá - IPython fartölvu.

Hleypur Jupyter í LXD sporbraut

Orbital flugtaksáætlun ^

Hleypur Jupyter í LXD sporbraut

Við skulum gera grein fyrir stuttri aðgerðaáætlun til að auðvelda okkur að innleiða kerfið hér að ofan:

  • Við skulum setja upp og ræsa gám sem byggir á dreifingarsettinu Alpine Linux. Við munum nota þessa dreifingu vegna þess að hún miðar að naumhyggju og mun aðeins setja inn nauðsynlegasta hugbúnaðinn í hana, ekkert óþarfi.
  • Við skulum bæta við sýndardiski til viðbótar í ílátið og gefa honum nafn - hostfs og tengja það við rót skráarkerfið. Þessi diskur mun gera það mögulegt að nota skrár á hýsilinn úr tiltekinni möppu inni í gámnum. Þannig verða gögnin okkar óháð ílátinu. Ef gámnum er eytt verða gögnin áfram á hýslinum. Einnig er þetta kerfi gagnlegt til að deila sömu gögnum á milli margra gáma án þess að nota staðlaða netkerfi gámadreifingarinnar.
  • Við skulum setja upp Bash, sudo, nauðsynleg bókasöfn, bæta við og stilla kerfisnotanda
  • Við skulum setja upp Python, einingar og setja saman tvöfalda ósjálfstæði fyrir þær
  • Við skulum setja upp og ræsa Jupyter rannsóknarstofu, aðlaga útlitið, setja upp viðbætur fyrir það.

Í þessari grein munum við byrja á því að ræsa gáminn, við munum ekki íhuga að setja upp og stilla LXD, þú getur fundið allt þetta í annarri grein - Grunneiginleikar LXD - Linux gámakerfi.

Uppsetning og uppsetning grunnkerfisins ^

Við búum til ílát með skipuninni þar sem við tilgreinum myndina - alpine3, auðkenni fyrir ílátið - jupyterlab og, ef nauðsyn krefur, stillingarsnið:

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

Hér er ég að nota stillingarsnið hddroot sem tilgreinir að búa til ílát með rót skipting í Geymslulaug staðsett á líkamlegum HDD diski:

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

Þetta gefur mér tækifæri til að gera tilraunir með gáma á HDD disknum, spara auðlindir SSD disksins, sem er einnig til í kerfinu mínu 🙂 sem ég hef búið til sérstakt stillingarsnið fyrir ssdroot.

Eftir að gámurinn er búinn til er hann í ástandinu STOPPED, svo við þurfum að byrja það með því að keyra init kerfið í því:

lxc start jupyterlab

Sýnum lista yfir ílát í LXD með því að nota takkann -c sem gefur til kynna hvaða cmerki sýna:

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

Þegar ílátið var búið til var IP vistfangið valið af handahófi, þar sem við notuðum stillingarsnið default sem áður var stillt í greininni Grunneiginleikar LXD - Linux gámakerfi.

Við munum breyta þessari IP tölu í eftirminnilegri með því að búa til netviðmót á gámastigi, en ekki á stillingarsniði eins og það er núna í núverandi uppsetningu. Þú þarft ekki að gera þetta, þú getur sleppt því.

Að búa til netviðmót eth0 sem við tengjum við rofann (netbrú) lxdbr0 þar sem við virkuðum NAT samkvæmt fyrri grein og ílátið mun nú hafa aðgang að internetinu og við úthlutum einnig kyrrstöðu IP tölu við viðmótið - 10.0.5.5:

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

Eftir að tæki hefur verið bætt við verður að endurræsa ílátið:

lxc restart jupyterlab

Athugun á stöðu ílátsins:

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

Uppsetning grunnhugbúnaðar og uppsetning kerfisins ^

Til að stjórna ílátinu okkar þarftu að setja upp eftirfarandi hugbúnað:

Pakki
Lýsing

bash
GNU Bourne Again skelin

bash-lokun
Forritanleg frágangur fyrir bash skelina

sudo
Gefðu ákveðnum notendum möguleika á að keyra nokkrar skipanir sem rót

skuggi
Lykilorðs- og reikningsstjórnunarverkfærasvíta með stuðningi fyrir skuggaskrár og PAM

tzdata
Heimildir fyrir tímabelti og sumartímagögn

Nano
Pico ritstjóri klón með endurbótum

Að auki geturðu sett upp stuðning á man-síðum kerfisins með því að setja upp eftirfarandi pakka - man man-pages mdocml-apropos less

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

Við skulum skoða skipanirnar og lyklana sem við notuðum:

  • lxc — Hringdu í LXD viðskiptavin
  • exec - LXD biðlaraaðferð sem keyrir skipun í ílátinu
  • jupyterlab — Gámaauðkenni
  • -- - Sérstakur lykill sem tilgreinir að túlka ekki fleiri lykla sem lykla fyrir lxc og láttu restina af strengnum eins og hann er í ílátið
  • apk - Alpine Linux dreifingarpakkastjóri
  • add — Pakkastjórnunaraðferð sem setur upp pakka sem tilgreindir eru á eftir skipuninni

Næst munum við stilla tímabelti í kerfinu Europe/Moscow:

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

Eftir að tímabeltið hefur verið sett upp, pakkinn tzdata er ekki lengur þörf í kerfinu, það mun taka pláss, svo við skulum eyða því:

lxc exec jupyterlab -- apk del tzdata

Athugaðu tímabeltið:

lxc exec jupyterlab -- date

Wed Apr 15 10:49:56 MSK 2020

Til þess að eyða ekki miklum tíma í að setja upp Bash fyrir nýja notendur í gámnum, í eftirfarandi skrefum munum við afrita tilbúnar skel skrár frá hýsingarkerfinu yfir í það. Þetta gerir þér kleift að fegra Bash í ílát gagnvirkt. Hýsingarkerfið mitt er Manjaro Linux og skrárnar sem verið er að afrita /etc/skel/.bash_profile, /etc/skel/.bashrc, /etc/skel/.dir_colors í grundvallaratriðum henta þeir fyrir Alpine Linux og valda ekki mikilvægum vandamálum, en þú gætir verið með aðra dreifingu og þú þarft að finna út hvort það er villa þegar þú keyrir Bash í ílátinu.

Afritaðu skel skrárnar í ílátið. Lykill --create-dirs mun búa til nauðsynlegar möppur ef þær eru ekki til:

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

Fyrir núverandi rótnotanda, afritaðu skel skrárnar sem voru nýafritaðar í ílátið í heimamöppuna:

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 setur upp kerfisskel fyrir notendur /bin/sh, munum við skipta því út fyrir root notandi í Bash:

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

Það root notandinn var ekki lykilorðslaus, hann þarf að setja lykilorð. Eftirfarandi skipun mun búa til og setja nýtt handahófskennt lykilorð fyrir hann, sem þú munt sjá á stjórnborðsskjánum eftir framkvæmd þess:

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

Við skulum líka búa til nýjan kerfisnotanda - jupyter sem við munum stilla síðar Jupyter rannsóknarstofu:

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

Við skulum búa til og setja lykilorð fyrir það:

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

Næst munum við framkvæma tvær skipanir, sú fyrsta mun búa til kerfishóp sudo, og sá seinni mun bæta notanda við það jupyter:

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

Við skulum sjá hvaða hópum notandinn tilheyrir jupyter:

lxc exec jupyterlab -- id -Gn jupyter

jupyter sudo

Allt er í lagi, við skulum halda áfram.

Leyfa öllum notendum sem eru meðlimir hópsins sudo nota skipun sudo. Til að gera þetta skaltu keyra eftirfarandi skriftu, þar sem sed sleppir athugasemdum við færibreytulínuna í stillingarskránni /etc/sudoers:

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

Að setja upp og stilla JupyterLab ^

Jupyter rannsóknarstofu er Python forrit, svo við verðum fyrst að setja upp þennan túlk. Einnig, Jupyter rannsóknarstofu við munum setja upp með því að nota Python pakkastjórann pip, en ekki kerfisins, vegna þess að það gæti verið úrelt í kerfisgeymslunni og þess vegna verðum við að leysa ósjálfstæðin fyrir það handvirkt með því að setja upp eftirfarandi pakka: python3 python3-dev gcc libc-dev zeromq-dev:

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

Við skulum uppfæra python einingar og pakkastjóra pip í núverandi útgáfu:

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

Setja upp Jupyter rannsóknarstofu í gegnum pakkastjóra pip:

lxc exec jupyterlab -- python3 -m pip install jupyterlab

Þar sem framlengingarnar í Jupyter rannsóknarstofu eru tilraunaverkefni og eru ekki opinberlega sendar með jupyterlab pakkanum, svo við verðum að setja upp og stilla hann handvirkt.

Við skulum setja upp NodeJS og pakkastjórann fyrir það - NPM, síðan Jupyter rannsóknarstofu notar þær fyrir framlengingar sínar:

lxc exec jupyterlab -- apk add nodejs npm

Til framlengingar fyrir Jupyter rannsóknarstofu sem við munum setja upp virkaði, þeir þurfa að vera settir upp í notendaskránni þar sem forritið verður ræst frá notandanum jupyter. Vandamálið er að það er engin færibreyta í ræsingarskipuninni sem hægt er að senda í möppu; forritið samþykkir aðeins umhverfisbreytu og því verðum við að skilgreina hana. Til að gera þetta munum við skrifa breytuútflutningsskipunina JUPYTERLAB_DIR í umhverfi notandans jupyter, til að skrá .bashrcsem er keyrt í hvert skipti sem notandinn skráir sig inn:

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

Næsta skipun mun setja upp sérstaka viðbót - viðbótastjóri í Jupyter rannsóknarstofu:

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

Nú er allt klárt fyrir fyrstu kynningu Jupyter rannsóknarstofu, en við getum samt sett upp nokkrar gagnlegar viðbætur:

  • toc — Efnisyfirlit, býr til lista yfir fyrirsagnir í grein/glósubók
  • jupyterlab-horizon-theme - HÍ þema
  • jupyterlab_neon_theme - HÍ þema
  • jupyterlab-ubu-theme - Annar þema frá höfundi þessa grein :) En í þessu tilfelli verður uppsetningin frá GitHub geymslunni sýnd

Svo skaltu keyra eftirfarandi skipanir í röð til að setja upp þessar viðbætur:

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"

Eftir að viðbæturnar hafa verið settar upp verðum við að setja þær saman, þar sem áður, við uppsetningu, tilgreindum við lykilinn --no-build til að spara tíma. Nú munum við flýta okkur verulega með því að setja þær saman í einu lagi:

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

Keyrðu nú eftirfarandi tvær skipanir til að keyra það í fyrsta skipti Jupyter rannsóknarstofu. Það væri hægt að ræsa það með einni skipun, en í þessu tilfelli mun ræsiskipunin, sem er erfitt að muna í huga þínum, muna með bash í gámnum, en ekki á hýsilinn, þar sem það eru nú þegar nógu margar skipanir að skrá þá í söguna :)

Skráðu þig inn í gáminn sem notandi jupyter:

lxc exec jupyterlab -- su -l jupyter

Næst skaltu hlaupa Jupyter rannsóknarstofu með lyklum og breytum eins og tilgreint er:

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

Farðu á heimilisfangið í vafranum þínum http://10.0.5.5:8888 og sláðu inn á síðunni sem opnast skapi aðgangur sem þú munt sjá í stjórnborðinu. Afritaðu og límdu það á síðuna og smelltu svo Skrá inn. Eftir að þú hefur skráð þig inn, farðu í viðbótavalmyndina vinstra megin, eins og sýnt er á myndinni hér að neðan, þar sem þú verður beðinn um að taka öryggisáhættu þegar þú virkjar viðbyggingarstjórann með því að setja upp viðbætur frá þriðja aðila sem skipunin fyrir JupyterLab þróun ber ekki ábyrgð:

Hleypur Jupyter í LXD sporbraut

Hins vegar erum við að einangra allt Jupyter rannsóknarstofu og settu það í ílát þannig að viðbætur frá þriðja aðila sem krefjast og nota NodeJS geti að minnsta kosti ekki stolið gögnum á disknum öðrum en þeim sem við opnum inni í ílátinu. Farðu í einkaskjölin þín á gestgjafanum í /home ferli úr gámnum eru ólíklegir til að heppnast, og ef þeir gera það, þá þarftu að hafa réttindi á skrám á hýsingarkerfinu, þar sem við keyrum gáminn í forréttindahamur. Byggt á þessum upplýsingum geturðu metið hættuna á því að láta framlengingar fylgja með Jupyter rannsóknarstofu.

Búið til IPython minnisbækur (síður í Jupyter rannsóknarstofu) verður nú búið til í heimaskrá notandans - /home/jupyter, en áætlanir okkar eru að skipta gögnunum (deila) á milli hýsilsins og ílátsins, svo farðu aftur í stjórnborðið og hættu Jupyter rannsóknarstofu með því að keyra flýtilykil - CTRL+C og svara y sé þess óskað. Slítu síðan gagnvirkri lotu notandans jupyter að klára flýtilykil CTRL+D.

Að deila gögnum með gestgjafanum ^

Til að deila gögnum með gestgjafanum þarftu að búa til tæki í ílátinu sem gerir þér kleift að gera þetta og til að gera þetta skaltu keyra eftirfarandi skipun þar sem við tilgreinum eftirfarandi lykla:

  • lxc config device add — Skipunin bætir við stillingum tækisins
  • jupyter — Auðkenni ílátsins sem stillingunni er bætt við
  • hostfs — Auðkenni tækis. Þú getur stillt hvaða nafn sem er.
  • disk — Gerð tækisins er tilgreind
  • path — Tilgreinir slóðina í ílátinu sem LXD mun festa þetta tæki á
  • source — Tilgreindu upprunann, slóðina að möppunni á hýslinum sem þú vilt deila með ílátinu. Tilgreindu slóðina í samræmi við óskir þínar
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks

Fyrir vörulistann /home/dv/projects/ipython-notebooks leyfi verður að vera stillt á gámanotandann sem nú er með UID sem jafngildir SubUID + UID, sjá kafla Öryggi. Gámaréttindi í greininni Grunneiginleikar LXD - Linux gámakerfi.

Stilltu leyfið á hýsilinn, þar sem eigandinn verður gámanotandinn jupyter, og breytan $USER mun tilgreina gestgjafanotandann þinn sem hóp:

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

Halló heimur! ^

Ef þú ert enn með stjórnborðslotu opna í ílátinu með Jupyter rannsóknarstofu, endurræstu það síðan með nýjum lykli --notebook-dir með því að stilla gildið /mnt/hostfs sem leið að rót fartölvanna í ílátinu fyrir tækið sem við bjuggum til í fyrra skrefi:

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

Farðu síðan á síðuna http://10.0.5.5:8888 og búðu til fyrstu fartölvuna þína með því að smella á hnappinn á síðunni eins og sýnt er á myndinni hér að neðan:

Hleypur Jupyter í LXD sporbraut

Síðan, í reitinn á síðunni, sláðu inn Python kóðann sem mun sýna klassíkina Hello World!. Þegar þú hefur lokið við að slá inn ýtirðu á CTRL+ENTER eða „spila“ hnappinn á tækjastikunni efst til að láta JupyterLab gera þetta:

Hleypur Jupyter í LXD sporbraut

Á þessum tímapunkti er næstum allt tilbúið til notkunar, en það verður óáhugavert ef við setjum ekki upp viðbótar Python einingar (fullgild forrit) sem geta stækkað verulega staðlaða getu Python í Jupyter rannsóknarstofuþess vegna skulum við halda áfram :)

PS Það áhugaverða er að gamla framkvæmdin Júpyter undir kóðaheiti Jupyter minnisbók hefur ekki horfið og það liggur fyrir samhliða Jupyter rannsóknarstofu. Til að skipta yfir í gömlu útgáfuna skaltu fylgja hlekknum sem bætir viðskeyti í heimilisfangið/tree, og umskipti yfir í nýju útgáfuna eru framkvæmd með viðskeytinu /lab, en það þarf ekki að tilgreina:

Auka getu Python ^

Í þessum hluta munum við setja upp svo öflugar Python tungumálaeiningar eins og Numpy, Pandas, matplotlib, IPyWidgets niðurstöðurnar eru samþættar í fartölvur Jupyter rannsóknarstofu.

Áður en þú setur upp skráðar Python einingar í gegnum pakkastjórann pip við verðum fyrst að leysa kerfisfíkn í Alpine Linux:

  • g++ — Nauðsynlegt til að setja saman einingar, þar sem sumar þeirra eru útfærðar á tungumálinu C + + og tengdu við Python á keyrslutíma sem tvöfaldar einingar
  • freetype-dev - ósjálfstæði fyrir Python mát matplotlib

Að setja upp ósjálfstæði:

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

Það er eitt vandamál: í núverandi ástandi Alpine Linux dreifingarinnar mun ekki vera hægt að setja saman nýju útgáfuna af NumPy; uppsetningarvilla mun birtast sem ég gat ekki leyst:

VILLA: Gat ekki smíðað hjól fyrir numpy sem nota PEP 517 og er ekki hægt að setja beint upp

Þess vegna munum við setja upp þessa einingu sem kerfispakka sem dreifir þegar samsettri útgáfu, en aðeins eldri en það sem nú er til á síðunni:

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

Næst skaltu setja upp Python einingar í gegnum pakkastjórann pip. Vinsamlegast vertu þolinmóður þar sem sumar einingar munu safnast saman og geta tekið nokkrar mínútur. Á vélinni minni tók samantekt ~15 mínútur:

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

Hreinsar uppsetningarskyndiminni:

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

Prófunareiningar í JupyterLab ^

Ef þú ert að hlaupa Jupyter rannsóknarstofu, endurræstu það þannig að nýuppsettu einingarnar séu virkjaðar. Til að gera þetta, í stjórnborðslotu, smelltu á CTRL+C þar sem þú hefur það í gangi og sláðu inn y til að hætta beiðni og byrja svo aftur Jupyter rannsóknarstofu með því að ýta á upp örina á lyklaborðinu til að slá ekki inn skipunina aftur og síðan Enter til að byrja það:

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

Farðu á síðuna http://10.0.5.5:8888/lab eða endurnýjaðu síðuna í vafranum þínum og sláðu svo inn eftirfarandi kóða í nýtt reit í fartölvu:

%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

Þú ættir að fá niðurstöðu eins og á myndinni hér að neðan, þar sem IPyWidgets býr til notendaviðmótsþátt á síðunni sem hefur gagnvirkt samskipti við frumkóðann, og einnig matplotlib sýnir niðurstöðu kóðans í formi mynd sem fallgraf:

Hleypur Jupyter í LXD sporbraut

Mörg dæmi IPyWidgets þú getur fundið það í námskeiðum hér

Hvað annað? ^

Vel gert ef þú varst eftir og náðir alveg í lok greinarinnar. Ég setti viljandi ekki inn tilbúið handrit í lok greinarinnar sem myndi setja upp Jupyter rannsóknarstofu með “einum smelli” til að hvetja starfsmenn :) En þú getur gert það sjálfur, þar sem þú veist nú þegar hvernig, eftir að hafa safnað skipunum í eitt Bash handrit :)

Þú getur líka:

  • Stilltu netheiti fyrir ílátið í stað IP tölu með því að skrifa það á einfaldan hátt /etc/hosts og sláðu inn heimilisfangið í vafranum http://jupyter.local:8888
  • Leiktu þér með auðlindamörkin fyrir ílátið, til þess skaltu lesa kaflann í grunn LXD getu eða fáðu frekari upplýsingar á LXD þróunarsíðunni.
  • Breyttu þema:

Hleypur Jupyter í LXD sporbraut

Og margt fleira sem þú getur gert! Það er allt og sumt. Ég óska ​​þér velgengni!

UPPFÆRT: 15.04.2020/18/30 XNUMX:XNUMX - Leiðrétta villur í kaflanum „Halló, heimur!“
UPPFÆRT: 16.04.2020/10/00 XNUMX:XNUMX — Leiðrétt og bætt við texta í lýsingu á virkjun framlengingarstjóra Jupyter rannsóknarstofu
UPPFÆRT: 16.04.2020/10/40 XNUMX:XNUMX — Leiðréttar villur fundust í textanum og örlítið breytt til batnaðar kaflanum „Uppsetning grunnhugbúnaðar og uppsetning kerfisins“

Heimild: www.habr.com

Bæta við athugasemd