An robh agad a-riamh ri deuchainn a dhèanamh air goireasan còd no siostam ann an Linux gus nach biodh dragh ort mun t-siostam bunaiteach agus gun a bhith a’ reubadh a h-uile càil sìos gun fhios nach biodh mearachd sa chòd a bu chòir ruith le sochairean freumha?
Ach dè mu dheidhinn a chanas sinn gum feum thu cruinneachadh iomlan de dhiofar microservices a dhearbhadh no a ruith air aon inneal? Ceud no fiù 's mìle?
Le innealan brìgheil air an riaghladh le hypervisor, faodar agus thèid na duilgheadasan sin fhuasgladh, ach aig dè a ’chosgais? Mar eisimpleir, bidh inneal ann an LXD stèidhichte air cuairteachadh Alpine Linux ag ithe a-mhàin 7.60MB
RAM, agus far a bheil an sgaradh freumh a 'fuireach an dèidh tòiseachadh 9.5MB
! Ciamar a tha sin a’ còrdadh riut, Elon Musk? Tha mi a’ moladh sgrùdadh a dhèanamh comasan bunaiteach LXD - siostam container ann an Linux
Às deidh dha a bhith soilleir san fharsaingeachd dè a th’ ann an soithichean LXD, rachamaid nas fhaide air adhart agus smaoinich, dè nam biodh an leithid de àrd-ùrlar buain ann far am b ’urrainn dhut còd a ruith gu sàbhailte airson an aoigh, cruthaich grafaichean, ceangal UI-widgets gu dinamach (gu h-eadar-ghnìomhach) leis a’ chòd agad, cuir ris a' chòd le teacsa le blackjack ... cruth? Seòrsa de bhlog eadar-ghnìomhach? Wow... tha mi ga iarraidh! Ag iarraidh! 🙂
Seall fon chat far an cuir sinn air bhog ann an soitheach obair-lann jupyter - an ath ghinealach de eadar-aghaidh luchd-cleachdaidh an àite seann leabhar notaichean Jupyter, agus stàlaidhidh sinn cuideachd modalan Python leithid ÀireamhPy, Bidh pandathan, Mathplotlib, IPyWidgets a leigeas leat a h-uile càil a tha air a liostadh gu h-àrd a dhèanamh agus a shàbhaladh ann am faidhle sònraichte - laptop IPython.
Seòladh
- Plana airson toirt air falbh orbital
- Stàladh agus rèiteachadh an t-siostam bunaiteach
- A 'stàladh bathar-bog bunaiteach agus a' stèidheachadh an t-siostaim
- A 'stàladh agus a' rèiteachadh JupyterLab
- A’ roinneadh dàta leis an òstair
- Hàlo a Shaoghail!
- A’ leudachadh comasan Python
- Modalan deuchainn ann an JupyterLab
- Dè eile?
Plana airson toirt air falbh orbital ^
Bheir sinn cunntas air plana gnìomh goirid gus a dhèanamh nas fhasa dhuinn an sgeama gu h-àrd a bhuileachadh:
- Nach cuir sinn a-steach agus cuir air bhog soitheach stèidhichte air a’ ghoireas cuairteachaidh Alpach Linux. Cleachdaidh sinn an cuairteachadh seo leis gu bheil e ag amas air minimalism agus cha chuir sinn a-steach ach am bathar-bog as riatanach a-steach dha, gun dad a bharrachd.
- Nach cuir sinn diosc brìgheil a bharrachd anns a’ ghobhar agus thoir ainm dha -
hostfs
agus cuir a-steach e don t-siostam faidhle root. Leigidh an diosc seo leat faidhlichean a chleachdadh air an òstair bho eòlaire sònraichte taobh a-staigh an t-soithich. Mar sin, bidh an dàta againn neo-eisimeileach bhon t-soitheach. Ma thèid an soitheach a dhubhadh às, fuirichidh an dàta air an òstair. Cuideachd, tha an sgeama seo feumail airson an aon dàta a cho-roinn eadar mòran shoithichean gun a bhith a’ cleachdadh uidheamachdan lìonra àbhaisteach cuairteachadh nan soithichean. - Feuch an stàlaich sinn Bash, sudo, na leabharlannan riatanach, cuir ris agus rèitich sinn cleachdaiche siostam
- Nach stàlaich sinn Python, modalan agus cuir ri chèile eisimeileachd dà-chànanach dhaibh
- Leig leinn a stàladh agus a chuir air bhog obair-lann jupyter, gnàthaich an coltas, stàlaich leudachain air a shon.
San artaigil seo tòisichidh sinn le bhith a’ cur air bhog an soitheach, cha bheachdaich sinn air stàladh agus rèiteachadh LXD, gheibh thu seo uile ann an artaigil eile - Feartan bunaiteach LXD - siostaman container Linux.
Stàladh agus rèiteachadh an t-siostam bunaiteach ^
Bidh sinn a’ cruthachadh soitheach leis an àithne anns am bi sinn a’ sònrachadh an ìomhaigh - alpine3
, aithnichear airson an t-soithich - jupyterlab
agus, ma tha sin riatanach, pròifilean rèiteachaidh:
lxc init alpine3 jupyterlab --profile=default --profile=hddroot
An seo tha mi a’ cleachdadh pròifil rèiteachaidh hddroot
a tha a’ sònrachadh soitheach a chruthachadh le sgaradh freumh a-steach Amar stòraidh suidhichte air diosc corporra HDD:
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
Bheir seo an cothrom dhomh feuchainn air soithichean air an diosc HDD, a’ sàbhaladh goireasan an diosc SSD, a tha cuideachd ri fhaighinn san t-siostam agam 🙂 airson a bheil mi air ìomhaigh rèiteachaidh air leth a chruthachadh. ssdroot
.
Às deidh an soitheach a chruthachadh, tha e ann an staid STOPPED
, mar sin feumaidh sinn a thòiseachadh le bhith a’ ruith an t-siostam init ann:
lxc start jupyterlab
Nach seall sinn liosta de shoithichean ann an LXD a’ cleachdadh an iuchair -c
a tha a’ comharrachadh cò ctaisbeanadh olumns:
lxc list -c ns4b
+------------+---------+-------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+-------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.198 (eth0) | hddpool |
+------------+---------+-------------------+--------------+
Nuair a chaidh an soitheach a chruthachadh, chaidh an seòladh IP a thaghadh air thuaiream, leis gun do chleachd sinn pròifil rèiteachaidh default
a chaidh a rèiteachadh roimhe san artaigil Feartan bunaiteach LXD - siostaman container Linux.
Atharraichidh sinn an seòladh IP seo gu fear nas cuimhneachail le bhith a’ cruthachadh eadar-aghaidh lìonraidh aig ìre an t-soithich, agus chan ann aig ìre pròifil an rèiteachaidh mar a tha e a-nis san rèiteachadh gnàthach. Chan fheum thu seo a dhèanamh, faodaidh tu a sheachnadh.
A 'cruthachadh eadar-aghaidh lìonraidh eth0
a tha sinn a 'ceangal ris an tionndadh (drochaid lìonra) lxdbr0
anns an tug sinn comas do NAT a rèir an artaigil roimhe agus bidh cothrom aig a’ ghobhar a-nis air an eadar-lìn, agus bidh sinn cuideachd a’ sònrachadh seòladh IP statach don eadar-aghaidh - 10.0.5.5
:
lxc config device add jupyterlab eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
Às deidh inneal a chuir ris, feumar an soitheach ath-thòiseachadh:
lxc restart jupyterlab
A’ sgrùdadh inbhe a’ bhogsa:
lxc list -c ns4b
+------------+---------+------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.5 (eth0) | hddpool |
+------------+---------+------------------+--------------+
A 'stàladh bathar-bog bunaiteach agus a' stèidheachadh an t-siostaim ^
Gus an soitheach againn a rianachd, feumaidh tu am bathar-bog a leanas a stàladh:
pasgan
Tuairisgeul
bash
An slige GNU Bourne Again
bash-crìochnachadh
Crìochnachadh prògramaichte airson an t-slige bash
sudo
Thoir comas do chuid de luchd-cleachdaidh cuid de dh’ àitheantan a ruith mar fhreumh
shadow
Sreath inneal stiùireadh facal-faire is cunntais le taic airson faidhlichean sgàil agus PAM
dàta
Stòran airson sòn ùine agus dàta ùine sàbhalaidh solas an latha
Nano
Clone deasaiche Pico le leasachaidhean
A bharrachd air an sin, faodaidh tu taic a chuir a-steach ann an duilleagan fear an t-siostaim le bhith a’ stàladh na pacaidean a leanas - man man-pages mdocml-apropos less
lxc exec jupyterlab -- apk add bash bash-completion sudo shadow tzdata nano
Bheir sinn sùil air na h-òrdughan agus na h-iuchraichean a chleachd sinn:
lxc
- Cuir fios gu neach-dèiligidh LXDexec
- Modh teachdaiche LXD a bhios a’ ruith àithne anns a’ ghobharjupyterlab
- ID container--
- Iuchair shònraichte a tha a’ sònrachadh gun a bhith ag eadar-mhìneachadh tuilleadh iuchraichean mar iuchraichean airsonlxc
agus thoir seachad an còrr den t-sreang mar a tha don ghobharapk
- Manaidsear pacaid cuairteachaidh Alpach Linuxadd
- Modh manaidsear pacaid a stàlaicheas pacaidean a chaidh a shònrachadh às deidh an àithne
An ath rud, suidhichidh sinn sòn ùine san t-siostam Europe/Moscow
:
lxc exec jupyterlab -- cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Às deidh an sòn ùine a chuir a-steach, am pasgan tzdata
chan eil feum air san t-siostam tuilleadh, gabhaidh e àite, mar sin sguabaidh sinn às e:
lxc exec jupyterlab -- apk del tzdata
A’ sgrùdadh an raon ùine:
lxc exec jupyterlab -- date
Wed Apr 15 10:49:56 MSK 2020
Gus nach bi sinn a 'caitheamh mòran ùine a' stèidheachadh Bash airson luchd-cleachdaidh ùr anns a 'ghobhar, anns na ceumannan a leanas nì sinn lethbhreac de na faidhlichean skel deiseil bhon t-siostam aoigheachd thuige. Leigidh seo leat Bash a sgeadachadh ann an soitheach gu h-eadar-ghnìomhach. Is e an siostam aoigheachd agam Manjaro Linux agus na faidhlichean gan lethbhreacadh /etc/skel/.bash_profile
, /etc/skel/.bashrc
, /etc/skel/.dir_colors
ann am prionnsapal tha iad freagarrach airson Alpine Linux agus chan eil iad ag adhbhrachadh dhuilgheadasan èiginneach, ach is dòcha gu bheil cuairteachadh eadar-dhealaichte agad agus feumaidh tu gu neo-eisimeileach faighinn a-mach a bheil mearachd ann nuair a bhios tu a ’ruith Bash anns a’ ghobhar.
Dèan lethbhreac de na faidhlichean skel dhan ghobhar. iuchair --create-dirs
cruthaichidh iad na clàran riatanach mura h-eil iad ann:
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
Airson neach-cleachdaidh freumh a tha ann mar-thà, dèan lethbhreac de na faidhlichean skel dìreach air an lethbhreacadh a-steach don ghobhar chun eòlaire dachaigh:
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
Bidh Alpine Linux a’ stàladh slige siostam dha luchd-cleachdaidh /bin/sh
, cuiridh sinn an àite e root
neach-cleachdaidh ann am Bash:
lxc exec jupyterlab -- usermod --shell=/bin/bash root
gu bheil root
cha robh an neach-cleachdaidh gun fhacal-faire, feumaidh e facal-faire a shuidheachadh. Ginidh agus suidhichidh an àithne a leanas facal-faire air thuaiream ùr dha, a chì thu air scrion a’ chonsail às deidh a chuir gu bàs:
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
Cuideachd, cruthaichidh sinn cleachdaiche siostam ùr - jupyter
airson an rèiteachaidh sinn nas fhaide air adhart obair-lann jupyter:
lxc exec jupyterlab -- useradd --create-home --shell=/bin/bash jupyter
Gineadh agus suidhich sinn facal-faire air a shon:
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
An uairsin, cuiridh sinn dà òrdugh an gnìomh, cruthaichidh a’ chiad fhear buidheann siostam sudo
, agus cuiridh an dàrna fear cleachdaiche ris jupyter
:
lxc exec jupyterlab -- groupadd --system sudo
lxc exec jupyterlab -- groupmems --group sudo --add jupyter
Chì sinn dè na buidhnean dham buin an neach-cleachdaidh jupyter
:
lxc exec jupyterlab -- id -Gn jupyter
jupyter sudo
Tha a h-uile dad ceart gu leòr, gluaisidh sinn air adhart.
Leig leis a h-uile neach-cleachdaidh a tha nam buill den bhuidheann sudo
cleachd àithne sudo
. Gus seo a dhèanamh, ruith an sgriobt a leanas, far a bheil sed
a’ toirt a-mach loidhne paramadair san fhaidhle rèiteachaidh /etc/sudoers
:
lxc exec jupyterlab -- /bin/bash -c "sed --in-place -e '/^#[ t]*%sudo[ t]*ALL=(ALL)[ t]*ALL$/ s/^[# ]*//' /etc/sudoers"
A 'stàladh agus a' rèiteachadh JupyterLab ^
obair-lann jupyter 's e aplacaid Python a th' ann, mar sin feumaidh sinn an t-eadar-theangair seo a stàladh an toiseach. Cuideachd, obair-lann jupyter stàlaidhidh sinn a’ cleachdadh manaidsear pacaid Python pip
, agus chan e an siostam aon, oir is dòcha gu bheil e seann-fhasanta ann an stòr an t-siostaim agus mar sin, feumaidh sinn na h-eisimeileachd air a shon fhuasgladh le làimh le bhith a’ stàladh na pacaidean a leanas - python3 python3-dev gcc libc-dev zeromq-dev
:
lxc exec jupyterlab -- apk add python3 python3-dev gcc libc-dev zeromq-dev
Nach ùraich sinn modalan python agus manaidsear pacaid pip
chun an tionndadh làithreach:
lxc exec jupyterlab -- python3 -m pip install --upgrade pip setuptools wheel
Stàlaich obair-lann jupyter tro mhanaidsear pacaid pip
:
lxc exec jupyterlab -- python3 -m pip install jupyterlab
Air sgàth na leudachain a-steach obair-lann jupyter tha iad deuchainneach agus chan eil iad air an cur gu h-oifigeil leis a’ phacaid jupyterlab, agus mar sin feumaidh sinn a stàladh agus a rèiteachadh le làimh.
Feuch an stàlaich sinn NodeJS agus am manaidsear pacaid air a shon - NPM, bhon uair sin obair-lann jupyter gan cleachdadh airson a leudachadh:
lxc exec jupyterlab -- apk add nodejs npm
Gu leudachain airson obair-lann jupyter a stàlaicheas sinn ag obair, feumaidh iad a bhith air an stàladh anns an eòlaire cleachdaiche oir thèid an tagradh a chuir air bhog bhon neach-cleachdaidh jupyter
. Is e an duilgheadas a th’ ann nach eil paramadair anns an àithne tòiseachaidh a dh’ fhaodar a chuir gu eòlaire; chan eil an tagradh a’ gabhail ach ri caochladair àrainneachd agus mar sin feumaidh sinn a mhìneachadh. Gus seo a dhèanamh, sgrìobhaidh sinn an àithne às-mhalairt caochlaideach JUPYTERLAB_DIR
ann an àrainneachd an neach-cleachdaidh jupyter
, a faidhleadh .bashrc
a thèid a chuir gu bàs a h-uile uair a logas an neach-cleachdaidh a-steach:
lxc exec jupyterlab -- su -l jupyter -c "echo -e "nexport JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab" >> .bashrc"
Cuiridh an ath àithne leudachadh sònraichte - manaidsear leudachaidh a-steach obair-lann jupyter:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager"
A-nis tha a h-uile dad deiseil airson a ’chiad fhoillseachadh obair-lann jupyter, ach is urrainn dhuinn beagan leudachaidhean feumail a stàladh fhathast:
toc
- Clàr-innse, a’ gineadh liosta de chinn ann an artaigil/leabhar notaicheanjupyterlab-horizon-theme
- cuspair UIjupyterlab_neon_theme
- cuspair UIjupyterlab-ubu-theme
— Fear eile cuspair bhon ùghdar an artaigil seo :) Ach anns a 'chùis seo, thèid an stàladh bho stòr GitHub a shealltainn
Mar sin, ruith na h-òrdughan a leanas ann an òrdugh gus na leudachain sin a stàladh:
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"
Às deidh na leudachain a chuir a-steach, feumaidh sinn an cur ri chèile, oir roimhe seo, rè an stàlaidh, shònraich sinn an iuchair --no-build
gus ùine a shàbhaladh. A-nis bidh sinn a’ luathachadh gu mòr le bhith gan cur ri chèile ann an aon turas:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter lab build"
A-nis ruith an dà àithne a leanas gus a ruith airson a’ chiad uair obair-lann jupyter. Bhiodh e comasach a chuir air bhog le aon àithne, ach anns a ’chùis seo, bidh an àithne cur air bhog, a tha duilich a chuimhneachadh nad inntinn, air a chuimhneachadh le bash anns a’ ghobhar, agus chan ann air an òstair, far a bheil òrdughan gu leòr ann mu thràth airson an clàradh san eachdraidh :)
Log a-steach don bhogsa mar neach-cleachdaidh jupyter
:
lxc exec jupyterlab -- su -l jupyter
Air adhart, ruith obair-lann jupyter le iuchraichean agus crìochan mar a chaidh a chomharrachadh:
[jupyter@jupyterlab ~]$ jupyter lab --ip=0.0.0.0 --no-browser
Rach don t-seòladh sa bhrobhsair lìn agad http://10.0.5.5:8888 agus air an duilleag a tha a’ fosgladh cuir a-steach comharradh ruigsinneachd a chì thu sa chonsail. Dèan lethbhreac agus pasg air an duilleag, agus an uairsin cliog login. Às deidh dhut logadh a-steach, rachaibh chun chlàr leudachain air an taobh chlì, mar a chithear san fhigear gu h-ìosal, far an tèid iarraidh ort, nuair a chuireas tu am manaidsear leudachaidh an gnìomh, cunnartan tèarainteachd a ghabhail le bhith a ’stàladh leudachain bho threas phàrtaidhean airson a bheil an àithne Leasachadh JupyterLab chan eil e cunntachail:
Ach, tha sinn a 'dealachadh an iomlan obair-lann jupyter agus cuir ann an soitheach e gus nach urrainn do leudachaidhean treas-phàrtaidh a dh’ fheumas agus a chleachdas NodeJS co-dhiù dàta a ghoid air an diosc ach a-mhàin an fheadhainn a dh’ fhosglas sinn am broinn an t-soithich. Faigh gu na sgrìobhainnean prìobhaideach agad air an aoigh a-steach /home
chan eil e coltach gun soirbhich le pròiseasan bhon ghobhar, agus ma nì iad, feumaidh sochairean a bhith agad air faidhlichean air an t-siostam aoigheachd, leis gu bheil sinn a’ ruith an soitheach a-steach modh neo-thruaillidh. Stèidhichte air an fhiosrachadh seo, faodaidh tu measadh a dhèanamh air a’ chunnart bho bhith a’ toirt a-steach leudachadh a-steach obair-lann jupyter.
Cruthaich leabhraichean notaichean IPython (duilleagan a-steach obair-lann jupyter) a-nis air a chruthachadh ann an eòlaire dachaigh an neach-cleachdaidh - /home/jupyter
, ach tha na planaichean againn an dàta (roinn) a roinn eadar an aoigh agus an soitheach, mar sin till air ais chun consol agus stad obair-lann jupyter le bhith a’ cur an gnìomh hotkey - CTRL+C
agus a' freagairt y
air iarrtas. An uairsin cuir crìoch air seisean eadar-ghnìomhach an neach-cleachdaidh jupyter
a 'lìonadh hotkey CTRL+D
.
A’ roinneadh dàta leis an òstair ^
Gus dàta a cho-roinn leis an òstair, feumaidh tu inneal a chruthachadh anns a’ ghobhar a leigeas leat seo a dhèanamh agus seo a dhèanamh, ruith an àithne a leanas far am bi sinn a’ sònrachadh na h-iuchraichean a leanas:
lxc config device add
- Bidh an àithne a’ cur rèiteachadh an uidheim risjupyter
- ID an t-soithich ris a bheil an rèiteachadh air a chur rishostfs
- ID inneal. Faodaidh tu ainm sam bith a shuidheachadh.disk
- Tha an seòrsa inneal air a chomharrachadhpath
- Sònraich an t-slighe anns a’ bhogsa ris an cuir LXD an inneal seo suassource
- Sònraich an stòr, an t-slighe chun eòlaire air an òstair a tha thu airson a roinn leis a’ ghobhar. Sònraich an t-slighe a rèir do roghainnean
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks
Airson an catalog /home/dv/projects/ipython-notebooks
feumar cead a chuir gu neach-cleachdaidh an t-soithich aig a bheil UID co-ionann an-dràsta SubUID + UID
, faic caibideil Sàbhailteachd. Sochairean Container anns an artaigil Feartan bunaiteach LXD - siostaman container Linux.
Suidhich an cead air an òstair, far am bi an sealbhadair na neach-cleachdaidh container jupyter
, agus an caochladair $USER
sònraichidh e an cleachdaiche aoigheachd agad mar bhuidheann:
sudo chown 1001000:$USER /home/dv/projects/ipython-notebooks
Hàlo a Shaoghail! ^
Ma tha seisean tòcan agad fhathast fosgailte sa bhogsa le obair-lann jupyter, an uairsin ath-thòisich e le iuchair ùr --notebook-dir
le bhith a 'suidheachadh an luach /mnt/hostfs
mar an t-slighe gu freumh nan coimpiutairean-glùine anns a’ ghobhar airson an inneal a chruthaich sinn sa cheum roimhe:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
An uairsin rachaibh chun na duilleige http://10.0.5.5:8888 agus cruthaich a’ chiad laptop agad le bhith a’ briogadh air a’ phutan air an duilleag mar a chithear san dealbh gu h-ìosal:
An uairsin, san raon air an duilleag, cuir a-steach an còd Python a sheallas an clasaig Hello World!
. Nuair a tha thu deiseil a-steach, brùth CTRL+ENTER
no am putan “cluich” air a’ bhàr-inneal aig a’ mhullach gus am bi JupyterLab a’ dèanamh seo:
Aig an ìre seo, tha cha mhòr a h-uile dad deiseil airson a chleachdadh, ach bidh e neo-inntinneach mura cuir sinn a-steach modalan Python a bharrachd (aplacaidean làn-chuimsichte) as urrainn comasan àbhaisteach Python a leudachadh gu mòr ann an obair-lann jupyter, mar sin, gluaisidh sinn air adhart :)
PS Is e an rud inntinneach gu bheil an t-seann bhuileachadh Jupyter fo ainm còd Leabhar-nota Jupyter chan eil e air falbh agus tha e ann an co-shìnte ri obair-lann jupyter. Gus tionndadh chun t-seann dreach, lean an ceangal a’ cur an iar-leasachan san t-seòladh/tree
, agus thèid an gluasad chun dreach ùr a dhèanamh leis an iar-leasachan /lab
, ach chan fheumar a shònrachadh:
- Leabhar-nota Jupyter - http://10.0.5.5:8888/tree
- Lab Jupyter - http://10.0.5.5:8888/lab
A’ leudachadh comasan Python ^
Anns an earrainn seo, stàlaidhidh sinn modalan cànain Python cho cumhachdach ri ÀireamhPy, Bidh pandathan, Mathplotlib, IPyWidgets agus tha na toraidhean air an amalachadh a-steach do choimpiutairean-uchd obair-lann jupyter.
Mus stàlaich thu na modalan Python clàraichte tron mhanaidsear pacaid pip
feumaidh sinn an-toiseach eisimeileachd siostam fhuasgladh ann an Alpine Linux:
g++
- Feum air modalan a chur ri chèile, leis gu bheil cuid dhiubh gan cur an gnìomh sa chànan C ++ agus ceangail ri Python aig àm ruith mar mhodalan binaryfreetype-dev
- eisimeileachd airson modal Python Mathplotlib
Stàladh eisimeileachd:
lxc exec jupyterlab -- apk add g++ freetype-dev
Tha aon duilgheadas ann: ann an staid làithreach cuairteachadh Alpine Linux, cha bhith e comasach an dreach ùr de NumPy a chuir ri chèile; nochdaidh mearachd cruinneachaidh nach b’ urrainn dhomh fuasgladh:
mearachd: Cha b’ urrainn dhuinn cuibhlichean a thogail airson numpy a chleachdas PEP 517 agus nach gabh a chuir a-steach gu dìreach
Mar sin, stàlaidhidh sinn am modal seo mar phasgan siostam a bhios a’ sgaoileadh dreach a chaidh a chur ri chèile mar-thà, ach beagan nas sine na na tha ri fhaighinn air an làrach an-dràsta:
lxc exec jupyterlab -- apk add py3-numpy py3-numpy-dev
An uairsin, stàlaich modalan Python tron mhanaidsear pacaid pip
. Feuch gum bi thu foighidneach oir cuiridh cuid de mhodalan ri chèile agus faodaidh gun toir iad beagan mhionaidean. Air an inneal agam, thug an cruinneachadh ~ 15 mionaidean:
lxc exec jupyterlab -- python3 -m pip install pandas ipywidgets matplotlib
A' glanadh caches stàlaidh:
lxc exec jupyterlab -- rm -rf /home/*/.cache/pip/*
lxc exec jupyterlab -- rm -rf /root/.cache/pip/*
Modalan deuchainn ann an JupyterLab ^
Ma tha thu a 'ruith obair-lann jupyter, ath-thòisich e gus am bi na modalan ùra air an cur an gnìomh. Gus seo a dhèanamh, ann an seisean tòcan, cliog CTRL+C
far a bheil e agad a 'ruith agus a-steach y
gus stad a chur air iarrtas agus an uairsin tòiseachadh a-rithist obair-lann jupyter le putadh air an t-saighead suas air a’ mheur-chlàr gus nach cuir thu a-steach an àithne a-rithist is a-rithist Enter
airson tòiseachadh air:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
Rach don duilleag http://10.0.5.5:8888/lab no ùraich an duilleag sa bhrobhsair agad, agus an uairsin cuir a-steach an còd a leanas ann an cealla leabhar notaichean ùr:
%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
Bu chòir dhut toradh fhaighinn mar a tha san dealbh gu h-ìosal, càite IPyWidgets a’ gineadh eileamaid UI air an duilleag a bhios ag eadar-obrachadh gu h-eadar-ghnìomhach leis a’ chòd stòr, agus cuideachd Mathplotlib a’ taisbeanadh toradh a’ chòd ann an cruth dealbh mar ghraf gnìomh:
Mòran eisimpleirean IPyWidgets gheibh thu e ann an clasaichean oideachaidh an seo
Dè eile? ^
'S math a rinn thu ma dh'fhuirich thu agus gun ruigeadh tu deireadh an artaigil. Cha do chuir mi a-steach sgriobt deiseil a dh’aona ghnothach aig deireadh an artaigil a chuireadh a-steach e obair-lann jupyter ann an “aon bhriogadh” gus luchd-obrach a bhrosnachadh :) Ach faodaidh tu fhèin a dhèanamh, leis gu bheil fios agad mu thràth, às deidh dhut na h-òrdughan a chruinneachadh ann an aon sgriobt Bash :)
Faodaidh tu cuideachd:
- Suidhich ainm lìonra airson an t-soithich an àite seòladh IP le bhith ga sgrìobhadh ann an dòigh shìmplidh
/etc/hosts
agus cuir a-steach an seòladh sa bhrobhsair http://jupyter.local:8888 - Cluich mun cuairt leis a’ chrìoch ghoireasan airson an t-soithich, airson seo leugh an caibideil a-steach comasan bunaiteach LXD no faigh tuilleadh fiosrachaidh air làrach leasaiche LXD.
- Atharraich an cuspair:
Agus tòrr a bharrachd as urrainn dhut a dhèanamh! Sin e. Tha mi a 'guidhe soirbheachas dhut!
ÙRACHADH: 15.04.2020/18/30 XNUMX:XNUMX - Mearachdan ceartaichte sa chaibideil “Hello, World!”
ÙRACHADH: 16.04.2020/10/00 XNUMX:XNUMX - Teacs air a cheartachadh agus air a chur ris anns an tuairisgeul air gnìomhachd manaidsear leudachaidh obair-lann jupyter
ÙRACHADH: 16.04.2020/10/40 XNUMX:XNUMX - Mearachdan ceartaichte a chaidh an lorg san teacsa agus air an atharrachadh beagan airson na b’ fheàrr a’ chaibideil “Stàladh bathar-bog bunaiteach agus stèidheachadh an t-siostam”
Source: www.habr.com