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.
Leiðsögn
- Orbital flugtaksáætlun
- Uppsetning og uppsetning grunnkerfisins
- Uppsetning grunnhugbúnaðar og uppsetning kerfisins
- Að setja upp og stilla JupyterLab
- Að deila gögnum með gestgjafanum
- Halló heimur!
- Auka getu Python
- Prófunareiningar í JupyterLab
- Hvað annað?
Orbital flugtaksáætlun ^
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ðskiptavinexec
- LXD biðlaraaðferð sem keyrir skipun í ílátinujupyterlab
— Gámaauðkenni--
- Sérstakur lykill sem tilgreinir að túlka ekki fleiri lykla sem lykla fyrirlxc
og láttu restina af strengnum eins og hann er í ílátiðapk
- Alpine Linux dreifingarpakkastjóriadd
— 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á .bashrc
sem 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ókjupyterlab-horizon-theme
- HÍ þemajupyterlab_neon_theme
- HÍ þemajupyterlab-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ð:
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ækisinsjupyter
— 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 tilgreindpath
— 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:
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:
Á þ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:
- Jupyter minnisbók - http://10.0.5.5:8888/tree
- Jupyter Lab - http://10.0.5.5:8888/lab
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 einingarfreetype-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:
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:
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