Kwake kwadingeka ukuthi uzame ngekhodi noma izinsiza zesistimu ku-Linux ukuze ungakhathazeki ngohlelo oluyisisekelo futhi ungabhidli yonke into uma kwenzeka kuba nephutha kukhodi okufanele isebenze ngamalungelo ezimpande?
Kodwa kuthiwani ngeqiniso lokuthi ake sithi udinga ukuhlola noma ukusebenzisa iqoqo lonke lama-microservices ahlukahlukene emshinini owodwa? Ikhulu noma inkulungwane?
Ngemishini ebonakalayo ephethwe yi-hypervisor, izinkinga ezinjalo zingaxazululwa futhi zizoxazululwa, kodwa yiziphi izindleko? Isibonelo, isiqukathi esiku-LXD esisekelwe ekusabalaliseni kwe-Alpine Linux sisebenzisa kuphela 7.60MB
I-RAM, nalapho ukuhlukaniswa kwezimpande kuhlala khona ngemva kokuqala 9.5MB
! Ukuthanda kanjani lokho, Elon Musk? Ngincoma ukuthi uhlole amakhono ayisisekelo we-LXD - isistimu yesiqukathi ku-Linux
Ngemva kokuba sekucace ngokujwayelekile ukuthi ziyini iziqukathi ze-LXD, ake siqhubekele phambili futhi sicabange, kuthiwani uma bekunenkundla yokuvuna enjalo lapho ungasebenzisa khona ikhodi ngokuphepha yomsingathi, ukhiqize amagrafu, uxhumanise ngokuguquguqukayo (ngokusebenzisana) amawijethi e-UI- nekhodi yakho, engeza ikhodi ngombhalo nge-blackjack... ukufometha? Uhlobo oluthile lwebhulogi esebenzisanayo? Hawu... ngiyayifuna! Ufuna! π
Bheka ngaphansi kwekati lapho sizokwethula khona esitsheni I-JupyterLab - isizukulwane esilandelayo sokusebenzisana komsebenzisi esikhundleni se-Jupyter Notebook ephelelwe yisikhathi, futhi sizofaka namamojula wePython afana I-NumPy, AmaPandas, I-Matplotlib, IPyWidgets okuzokuvumela ukuthi wenze konke okubalwe ngenhla futhi ukugcine konke kufayela elikhethekile - ilaptop ye-IPython.
Ukuzula
- Uhlelo lokuthatha uhambo lwe-Orbital
- Ukufakwa nokucushwa kwesistimu eyisisekelo
- Ukufaka isofthiwe eyisisekelo nokusetha isistimu
- Ukufaka nokumisa i-JupyterLab
- Ukwabelana ngedatha nomsingathi
- Sawubona Mhlaba!
- Ukwandisa amakhono ePython
- Amamojula okuhlola ku-JupyterLab
- Yini enye?
Uhlelo lokuthatha uhambo lwe-Orbital ^
Ake siveze uhlelo olufushane lokwenza kube lula ngathi ukusebenzisa lolu hlelo olungenhla:
- Masifake futhi siqalise isiqukathi esisekelwe kukhithi yokusabalalisa I-Alpine Linux. Sizosebenzisa lokhu kusatshalaliswa ngoba kuhloswe ku-minimalism futhi sizofaka isoftware edingekayo kuphela kuyo, akukho lutho olungadingekile.
- Ake sengeze i-virtual disk eyengeziwe esitsheni futhi siyinikeze igama -
hostfs
bese uyikhweza ohlelweni lwefayela lempande. Le diski izokwenza kube nokwenzeka ukusebenzisa amafayela kumsingathi kusuka kuhla lwemibhalo olunikeziwe ngaphakathi kwesiqukathi. Ngakho, idatha yethu izobe izimele esitsheni. Uma isiqukathi sisusiwe, idatha izohlala kumsingathi. Futhi, lolu hlelo luwusizo ekwabelaneni ngedatha efanayo phakathi kweziqukathi eziningi ngaphandle kokusebenzisa izindlela ezijwayelekile zenethiwekhi zokusabalalisa iziqukathi. - Masifake i-Bash, i-sudo, imitapo yolwazi edingekayo, sengeze futhi silungiselele umsebenzisi wesistimu
- Masifake i-Python, amamojula futhi sihlanganise ukuncika kanambambili kubo
- Masifake futhi siqalise I-JupyterLab, hlela ukubukeka ngendlela oyifisayo, faka izandiso zakhona.
Kulesi sihloko sizoqala ngokwethula isitsha, ngeke sicabange ukufaka nokumisa i-LXD, ungathola konke lokhu kwesinye isihloko - Izici eziyisisekelo ze-LXD - amasistimu weziqukathi ze-Linux.
Ukufakwa nokucushwa kwesistimu eyisisekelo ^
Sakha isitsha esinomyalo lapho sicacisa khona isithombe - alpine3
, inkomba yesiqukathi - jupyterlab
futhi, uma kunesidingo, amaphrofayili wokumisa:
lxc init alpine3 jupyterlab --profile=default --profile=hddroot
Lapha ngisebenzisa iphrofayela yokumisa hddroot
ecacisa ukudala isitsha esinempande yokuhlukanisa phakathi Ichibi Lokugcina itholakala kudiski ye-HDD ebonakalayo:
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
Lokhu kunginika ithuba lokuhlola iziqukathi kudiski ye-HDD, ngigcina izinsiza zediski ye-SSD, etholakala futhi ohlelweni lwami π engidale iphrofayili yokucushwa ehlukile. ssdroot
.
Ngemuva kokuthi isiqukathi senziwe, sisesimweni STOPPED
, ngakho-ke sidinga ukuyiqala ngokusebenzisa isistimu ye-init kuyo:
lxc start jupyterlab
Masibonise uhlu lweziqukathi ku-LXD sisebenzisa ukhiye -c
okubonisa ukuthi columns display:
lxc list -c ns4b
+------------+---------+-------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+-------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.198 (eth0) | hddpool |
+------------+---------+-------------------+--------------+
Lapho udala isiqukathi, ikheli le-IP likhethwe ngokungahleliwe, njengoba sisebenzise iphrofayela yokumisa default
eyayilungiselelwe ngaphambilini esihlokweni Izici eziyisisekelo ze-LXD - amasistimu weziqukathi ze-Linux.
Sizoshintsha leli kheli lasesizindeni se-inthanethi libe ngelikhumbuleka kakhulu ngokwakha isixhumi esibonakalayo senethiwekhi ezingeni lesiqukathi, hhayi ezingeni lephrofayela yokucushwa njengoba lisekucushweni kwamanje. Akumele wenze lokhu, ungakweqa.
Idala isixhumi esibonakalayo senethiwekhi eth0
esiyixhuma ku-switch (ibhuloho lenethiwekhi) lxdbr0
lapho sinike khona amandla i-NAT ngokwendatshana edlule futhi isiqukathi sesizokwazi ukufinyelela ku-inthanethi, futhi sinikeza ikheli le-IP elimile kusixhumi esibonakalayo - 10.0.5.5
:
lxc config device add jupyterlab eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
Ngemva kokungeza idivayisi, isiqukathi kufanele siqaliswe kabusha:
lxc restart jupyterlab
Ihlola isimo sesiqukathi:
lxc list -c ns4b
+------------+---------+------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.5 (eth0) | hddpool |
+------------+---------+------------------+--------------+
Ukufaka isofthiwe eyisisekelo nokusetha isistimu ^
Ukuze ulawule isiqukathi sethu, udinga ukufaka isofthiwe elandelayo:
Iphakheji
Incazelo
bash
Igobolondo le-GNU Bourne Again
bash-ukuqedwa
Ukuqedwa okuhlelekayo kwegobolondo le-bash
sudo
Nikeza abasebenzisi abathile amandla okusebenzisa imiyalo njengempande
Isithunzi
Iphasiwedi kanye nethuluzi lokuphatha i-akhawunti elinokusekelwa kwamafayela ethunzi kanye ne-PAM
tzdata
Imithombo yezoni yesikhathi nedatha yesikhathi yokonga emini
umfowethu omdala
I-Pico editor clone enezithuthukisi
Ukwengeza, ungafaka usekelo emakhasini omuntu wesistimu ngokufaka amaphakheji alandelayo β man man-pages mdocml-apropos less
lxc exec jupyterlab -- apk add bash bash-completion sudo shadow tzdata nano
Ake sibheke imiyalo nezikhiye esizisebenzisile:
lxc
- Shayela iklayenti le-LXDexec
- Indlela yeklayenti ye-LXD esebenzisa umyalo esitshenijupyterlab
- I-ID yesitsha--
- Ukhiye okhethekile ocacisa ukuthi akufanele utolike okhiye abengeziwe njengokhiyelxc
bese wedlulisa yonke intambo njengoba injalo esitsheniapk
- Umphathi wephakheji wokusabalalisa we-Alpine Linuxadd
- Indlela yomphathi wephakheji efaka amaphakheji ashiwo ngemva komyalo
Okulandelayo, sizosetha izoni yesikhathi kusistimu Europe/Moscow
:
lxc exec jupyterlab -- cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Ngemva kokufaka izoni yesikhathi, iphakheji tzdata
ayisadingeki kusistimu, izothatha isikhala, ngakho-ke masiyisuse:
lxc exec jupyterlab -- apk del tzdata
Ihlola indawo yesikhathi:
lxc exec jupyterlab -- date
Wed Apr 15 10:49:56 MSK 2020
Ukuze ungachithi isikhathi esiningi usetha i-Bash yabasebenzisi abasha esitsheni, ezinyathelweni ezilandelayo sizokopisha amafayela e-skel enziwe ngomumo kusuka kuhlelo lokusingatha kuwo. Lokhu kuzokuvumela ukuthi wenze kahle i-Bash esitsheni ngokuxhumana. Isistimu yami yokusingathwa yi-Manjaro Linux futhi amafayela ayakopishwa /etc/skel/.bash_profile
, /etc/skel/.bashrc
, /etc/skel/.dir_colors
empeleni zifanele i-Alpine Linux futhi azibangeli izinkinga ezibucayi, kodwa ungase ube nokusabalalisa okuhlukile futhi udinga ukuzimela ngokuzimela uma kukhona iphutha lapho usebenzisa i-Bash esitsheni.
Kopisha amafayela e-skel esitsheni. Ukhiye --create-dirs
izodala izinkomba ezidingekayo uma zingekho:
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
Ngomsebenzisi wempande okhona, kopisha amafayela e-skel asanda kukopishwa esitsheni kuhla lwemibhalo lwasekhaya:
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
I-Alpine Linux ifaka igobolondo lesistimu labasebenzisi /bin/sh
, sizofaka esikhundleni sayo root
umsebenzisi ku-Bash:
lxc exec jupyterlab -- usermod --shell=/bin/bash root
ukuthi root
umsebenzisi ubengenayo iphasiwedi, udinga ukusetha iphasiwedi. Umyalo olandelayo uzomkhiqizela futhi usethe iphasiwedi entsha engahleliwe, ozoyibona esikrinini sekhonsoli ngemuva kokukhishwa kwayo:
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
Futhi, masidale umsebenzisi omusha wesistimu - jupyter
esizoyilungiselela kamuva I-JupyterLab:
lxc exec jupyterlab -- useradd --create-home --shell=/bin/bash jupyter
Masiyikhiqizele futhi siyibekele iphasiwedi:
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
Okulandelayo, sizokwenza imiyalo emibili, eyokuqala izodala iqembu lesistimu sudo
, futhi eyesibili izongeza umsebenzisi kuyo jupyter
:
lxc exec jupyterlab -- groupadd --system sudo
lxc exec jupyterlab -- groupmems --group sudo --add jupyter
Ake sibone ukuthi umsebenzisi ukuliphi iqembu jupyter
:
lxc exec jupyterlab -- id -Gn jupyter
jupyter sudo
Konke kuhamba kahle, asiqhubeke.
Vumela bonke abasebenzisi abangamalungu eqembu sudo
sebenzisa umyalo sudo
. Ukuze wenze lokhu, sebenzisa iskripthi esilandelayo, lapho sed
ikhulula umugqa wepharamitha kufayela lokumisa /etc/sudoers
:
lxc exec jupyterlab -- /bin/bash -c "sed --in-place -e '/^#[ t]*%sudo[ t]*ALL=(ALL)[ t]*ALL$/ s/^[# ]*//' /etc/sudoers"
Ukufaka nokumisa i-JupyterLab ^
I-JupyterLab kuwuhlelo lwePython, ngakho-ke kufanele siqale sifake lo mhumushi. Futhi, I-JupyterLab sizofaka sisebenzisa umphathi wephakheji wePython pip
, hhayi isistimu eyodwa, ngoba kungenzeka ukuthi isiphelelwe yisikhathi endaweni yesistimu ngakho-ke, kufanele sixazulule mathupha ukuncika kwayo ngokufaka amaphakheji alandelayo β python3 python3-dev gcc libc-dev zeromq-dev
:
lxc exec jupyterlab -- apk add python3 python3-dev gcc libc-dev zeromq-dev
Masibuyekeze amamojula we-python kanye nomphathi wephakheji pip
enguqulweni yamanje:
lxc exec jupyterlab -- python3 -m pip install --upgrade pip setuptools wheel
Faka I-JupyterLab ngomphathi wephakheji pip
:
lxc exec jupyterlab -- python3 -m pip install jupyterlab
Kusukela izandiso ku I-JupyterLab ziyahlolwa futhi azithunyelwa ngokusemthethweni nephakheji ye-jupyterlab, ngakho-ke kufanele siyifake futhi siyilungiselele mathupha.
Masifake i-NodeJS kanye nomphathi wephakheji wayo - NPM, kusukela lapho I-JupyterLab iwasebenzisela izandiso zawo:
lxc exec jupyterlab -- apk add nodejs npm
Kuzandiso ze I-JupyterLab esizoyifaka isebenzile, idinga ukufakwa kuhla lwemibhalo lomsebenzisi njengoba uhlelo lokusebenza luzokwethulwa kumsebenzisi jupyter
. Inkinga ukuthi ayikho ipharamitha emyalweni wokuqalisa ongadluliselwa kuhla lwemibhalo; uhlelo lokusebenza lwamukela kuphela okuguquguqukayo kwemvelo ngakho-ke kufanele sikuchaze. Ukuze senze lokhu, sizobhala umyalo wokuthekelisa oguquguqukayo JUPYTERLAB_DIR
endaweni yomsebenzisi jupyter
, ukufayela .bashrc
okwenziwa ngaso sonke isikhathi uma umsebenzisi engena:
lxc exec jupyterlab -- su -l jupyter -c "echo -e "nexport JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab" >> .bashrc"
Umyalo olandelayo uzofaka isandiso esikhethekile - umphathi wesandiso ku I-JupyterLab:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager"
Manje konke sekumi ngomumo ngokwethulwa kokuqala I-JupyterLab, kodwa sisengakwazi ukufaka izandiso ezimbalwa eziwusizo:
toc
- Uhlu Lokuphakathi, lakha uhlu lwezihloko ku-athikili/nothibhukwanajupyterlab-horizon-theme
- Itimu ye-UIjupyterlab_neon_theme
- Itimu ye-UIjupyterlab-ubu-theme
- Omunye itimu evela kumbhali lesi sihloko :) Kodwa kulokhu, ukufakwa okuvela endaweni yokugcina ye-GitHub kuzoboniswa
Ngakho-ke, sebenzisa imiyalo elandelayo ngokulandelana ukuze ufake lezi zandiso:
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"
Ngemva kokufaka izandiso, kufanele sizihlanganise, kusukela ngaphambili, ngesikhathi sokufakwa, sacacisa ukhiye --no-build
ukuze wonge isikhathi. Manje sizosheshisa kakhulu ngokuzihlanganisa ndawonye ngesikhathi esisodwa:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter lab build"
Manje sebenzisa imiyalo emibili elandelayo ukuze uyiqalise okokuqala I-JupyterLab. Kungenzeka ukuthi uyethule ngomyalo owodwa, kodwa kulokhu, umyalo wokuqalisa, okunzima ukuwukhumbula engqondweni yakho, uzokhunjulwa nge-bash esitsheni, hhayi kumsingathi, lapho sekuvele kunemiyalo eyanele. ukuze uziqophe emlandweni :)
Ngena ngemvume esitsheni njengomsebenzisi jupyter
:
lxc exec jupyterlab -- su -l jupyter
Okulandelayo, gijima I-JupyterLab ngokhiye namapharamitha njengoba kukhonjisiwe:
[jupyter@jupyterlab ~]$ jupyter lab --ip=0.0.0.0 --no-browser
Yiya ekhelini elisesipheqululini sakho sewebhu http://10.0.5.5:8888 nasekhasini elivulayo faka Ithokheni ukufinyelela ozokubona kukhonsoli. Kopisha bese unamathisele ekhasini, bese uchofoza Ngena ngemvume. Ngemuva kokungena ngemvume, iya kumenyu yezandiso ngakwesobunxele, njengoba kukhonjisiwe esithombeni esingezansi, lapho uzocelwa khona, lapho uvula umphathi wesandiso, ukuthi uthathe ubungozi bokuphepha ngokufaka izandiso ezivela kubantu besithathu lapho umyalo Ukuthuthukiswa kwe-JupyterLab akanasibopho:
Nokho, sihlukanisa konke I-JupyterLab futhi uyibeke esitsheni ukuze izandiso zenkampani yangaphandle ezidinga futhi ezisebenzisa i-NodeJS zingakwazi okungenani ukweba idatha kudiski ngaphandle kwalezo esizivula ngaphakathi kwesiqukathi. Thola kumadokhumenti akho ayimfihlo kumsingathi ku /home
izinqubo ezivela esitsheni mancane amathuba okuba ziphumelele, futhi uma zenza, udinga ukuba namalungelo kumafayela ohlelweni lomsingathi, njengoba sisebenzisa isitsha ngaphakathi. imodi engafanele. Ngokusekelwe kulolu lwazi, ungakwazi ukuhlola ubungozi bokufaka izandiso ku I-JupyterLab.
Dala amabhukumaka e-IPython (amakhasi ku I-JupyterLab) manje izokwakhiwa kuhla lwemibhalo lwasekhaya lomsebenzisi - /home/jupyter
, kodwa izinhlelo zethu ziwukuhlukanisa idatha (ukwabelana) phakathi komsingathi nesiqukathi, ngakho-ke buyela kukhonsoli futhi umise I-JupyterLab ngokwenza i-hotkey - CTRL+C
futhi ephendula y
ngesicelo. Bese unqamula isikhathi sokusebenzisana somsebenzisi jupyter
ukugcwalisa i-hotkey CTRL+D
.
Ukwabelana ngedatha nomsingathi ^
Ukuze wabelane ngedatha nomsingathi, udinga ukudala idivayisi esitsheni esikuvumela ukuthi wenze lokhu futhi wenze lokhu, sebenzisa umyalo olandelayo lapho sicacisa khona okhiye abalandelayo:
lxc config device add
β Umyalo wengeza ukucushwa kwedivayisijupyter
- I-ID yesiqukathi okufakwe kuso ukucushwahostfs
- I-ID yedivayisi. Ungasetha noma yiliphi igama.disk
β Uhlobo locingo luyakhonjiswapath
β Icacisa indlela esitsheni lapho i-LXD izokhweza khona lolu cingosource
- Cacisa umthombo, indlela eya ohlwini lwabasingathi ofuna ukwabelana ngalo nesiqukathi. Cacisa indlela ngokuvumelana nezintandokazi zakho
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks
Okwekhathalogi /home/dv/projects/ipython-notebooks
imvume kufanele isethwe kumsebenzisi wesiqukathi okwamanje one-UID elingana nayo SubUID + UID
, bheka isahluko Ukuphepha. Amalungelo Esiqukathi esihlokweni Izici eziyisisekelo ze-LXD - amasistimu weziqukathi ze-Linux.
Setha imvume kumsingathi, lapho umnikazi kuzoba umsebenzisi wesiqukathi jupyter
, kanye nokuguquguquka $USER
izocacisa umsebenzisi ophethe njengeqembu:
sudo chown 1001000:$USER /home/dv/projects/ipython-notebooks
Sawubona Mhlaba! ^
Uma useneseshini yekhonsoli evulekile esitsheni nge I-JupyterLab, bese uyiqalisa kabusha ngokhiye omusha --notebook-dir
ngokusetha inani /mnt/hostfs
njengendlela eya empandeni yamalaptops esitsheni sedivayisi esiyidalile esinyathelweni esedlule:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
Bese uya ekhasini http://10.0.5.5:8888 bese udala ikhompuyutha yakho ephathekayo yokuqala ngokuchofoza inkinobho ekhasini njengoba kukhonjisiwe esithombeni esingezansi:
Bese, ensimini ekhasini, faka ikhodi yePython ezobonisa yakudala Hello World!
. Uma usuqedile ukufaka, cindezela CTRL+ENTER
noma inkinobho ethi "dlala" kubha yamathuluzi phezulu ukuze iJupyterLab yenze lokhu:
Kuleli qophelo, cishe yonke into isilungele ukusetshenziswa, kodwa ngeke kube mnandi uma singafaki amamojula e-Python engeziwe (izinhlelo zokusebenza ezigcwele) ezingakhulisa kakhulu amandla ajwayelekile ePython ku. I-JupyterLab, ngakho-ke, asiqhubeke :)
PS Into ethokozisayo ukuthi ukuqaliswa okudala I-Jupyter ngaphansi kwegama lekhodi Incwadi kaJupyter ayihambanga futhi ikhona ngokuhambisana nayo I-JupyterLab. Ukuze ushintshele enguqulweni endala, landela isixhumanisi ungeze isijobelelo ekhelini/tree
, futhi ukushintshela enguqulweni entsha kwenziwa ngesijobelelo /lab
, kodwa akudingekile ukuba kucaciswe:
- I-Jupyter Notebook - http://10.0.5.5:8888/tree
- I-Jupyter Lab - http://10.0.5.5:8888/lab
Ukwandisa amakhono ePython ^
Kulesi sigaba, sizofaka amamojula anamandla olimi lwePython njenge I-NumPy, AmaPandas, I-Matplotlib, IPyWidgets imiphumela ehlanganiswe kuma-laptops I-JupyterLab.
Ngaphambi kokufaka amamojula asohlwini lwePython ngokusebenzisa umphathi wephakheji pip
kufanele siqale sixazulule ukuncika kwesistimu ku-Alpine Linux:
g++
- Kudingeka ekuhlanganiseni amamojula, njengoba amanye awo asetshenziswa ngolimi C ++ futhi uxhume kuPython ngesikhathi sokusebenza njengamamojula kanambambilifreetype-dev
- ukuncika kwemojula yePython I-Matplotlib
Ukufaka okuncikile:
lxc exec jupyterlab -- apk add g++ freetype-dev
Kunenkinga eyodwa: esimweni samanje sokusatshalaliswa kwe-Alpine Linux, ngeke kwenzeke ukuhlanganisa inguqulo entsha ye-NumPy; kuzovela iphutha lokuhlanganisa engingakwazi ukulixazulula:
IPHUTHA: Ayikwazanga ukwakha amasondo e-numpy asebenzisa i-PEP 517 futhi ayikwazi ukufakwa ngokuqondile
Ngakho-ke, sizofaka le mojula njengephakheji yesistimu esabalalisa inguqulo esivele ihlanganisiwe, kodwa endala kancane kunaleyo etholakalayo kusayithi:
lxc exec jupyterlab -- apk add py3-numpy py3-numpy-dev
Okulandelayo, faka amamojula wePython ngokusebenzisa umphathi wephakheji pip
. Sicela ubekezele njengoba amanye amamojula azohlanganiswa futhi angathatha amaminithi ambalwa. Emshinini wami, ukuhlanganiswa kuthathe ~ imizuzu eyi-15:
lxc exec jupyterlab -- python3 -m pip install pandas ipywidgets matplotlib
Isula izinqolobane zokufaka:
lxc exec jupyterlab -- rm -rf /home/*/.cache/pip/*
lxc exec jupyterlab -- rm -rf /root/.cache/pip/*
Amamojula okuhlola ku-JupyterLab ^
Uma ugijima I-JupyterLab, iqale kabusha ukuze amamojula asanda kufakwa enziwe asebenze. Ukuze wenze lokhu, esimisweni se-console, chofoza CTRL+C
lapho ugijima khona bese ungena y
ukumisa isicelo bese uqala futhi I-JupyterLab ngokucindezela umcibisholo oya phezulu kukhibhodi ukuze ungafaki umyalo futhi Enter
ukuyiqala:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
Iya ekhasini http://10.0.5.5:8888/lab noma uvuselele ikhasi esipheqululini sakho, bese ufaka ikhodi elandelayo kuseli entsha yamanothi:
%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
Kufanele uthole umphumela njengasesithombeni esingezansi, kuphi IPyWidgets ikhiqiza into ye-UI ekhasini esebenzisana ngokuhlanganyela nekhodi yomthombo, futhi I-Matplotlib ibonisa umphumela wekhodi ngendlela yesithombe njengegrafu yomsebenzi:
Izibonelo eziningi IPyWidgets ungakuthola kokufundisa lapha
Yini enye? ^
Wenze kahle uma usale waze wafika ekugcineni kwesihloko. Angizange ngamabomu ngithumele iskripthi esenziwe ngomumo ekupheleni kwesihloko esizosifaka I-JupyterLab "ngokuchofoza okukodwa" ukuze ukhuthaze abasebenzi :) Kodwa ungakwenza ngokwakho, njengoba usuyazi ukuthi kanjani, usuqoqe imiyalo kuskripthi esisodwa se-Bash :)
Ungakwazi futhi:
- Setha igama lenethiwekhi lesiqukathi esikhundleni sekheli le-IP ngokulibhala ngendlela elula
/etc/hosts
bese uthayipha ikheli esipheqululini http://jupyter.local:8888 - Dlala ngomkhawulo wensiza yesiqukathi, ngalokhu funda isahluko ngaphakathi amakhono ayisisekelo we-LXD noma uthole ulwazi olwengeziwe kusayithi lonjiniyela we-LXD.
- Shintsha itimu:
Futhi kuningi ongakwenza! Yilokho kuphela. Ngikufisela impumelelo!
NGAPHAKATHI: 15.04.2020/18/30 XNUMX:XNUMX - Amaphutha alungisiwe esahlukweni esithi βSawubona, Mhlaba!β
QAPHELA: 16.04.2020/10/00 XNUMX:XNUMX - Umbhalo olungisiwe futhi owengeziwe encazelweni yokusebenzisa umphathi wesandiso I-JupyterLab
NGAPHAKATHI: 16.04.2020/10/40 XNUMX:XNUMX - Amaphutha alungisiwe atholwe embhalweni futhi ashintshwa kancane ukuze abe ngcono isahluko esithi "Ukufaka isoftware eyisisekelo nokusetha uhlelo"
Source: www.habr.com