Ị nwetụla ịnwale koodu ma ọ bụ akụrụngwa sistemụ na Linux ka ị ghara ichegbu onwe gị maka sistemụ ntọala ma ghara ịkwatu ihe niile ma ọ bụrụ na njehie dị na koodu ahụ kwesịrị iji ikike mgbọrọgwụ rụọ ọrụ?
Mana kedu maka eziokwu ahụ ka anyị kwuo na ịkwesịrị ịnwale ma ọ bụ mee otu ụyọkọ microservices dị iche iche n'otu igwe? Otu narị ma ọ bụ ọbụna otu puku?
Site na igwe mebere nke onye hypervisor na-elekọta, nsogbu ndị dị otú ahụ nwere ike ma dozie ya, mana n'ihi gịnị? Dịka ọmụmaatụ, akpa dị na LXD dabere na nkesa Alpine Linux na-eri naanị 7.60MB
RAM, na ebe mgbọrọgwụ nkebi bi mgbe mmalite 9.5MB
! Kedu ka nke ahụ si amasị gị, Elon Musk? Ana m akwado ịlele ikike bụ isi nke LXD - sistemu akpa na Linux
Mgbe ọ bịara doo anya n'ozuzu ihe arịa LXD bụ, ka anyị gaa n'ihu chee echiche, gịnị ma ọ bụrụ na enwere ụdị ihe ọkụkụ dị otú ahụ ebe ị nwere ike ịgba ọsọ koodu maka onye ọbịa, mepụta eserese, na-ejikọta UI wijetị na koodu gị, jiri blackjack tinye koodu ahụ na ederede... nhazi? Ụfọdụ ụdị blọgụ mmekọrịta? Chei... Achọrọ m ya! Achọrọ! 🙂
Lee n'okpuru pusi ebe anyị ga-amalite na akpa ụlọ nyocha jupyter - ọgbọ ọzọ nke interface onye ọrụ kama nke akwụkwọ ndetu Jupyter ochie, anyị ga-etinyekwa ụdị Python dị ka. Nọmba, Pandas, matplotlib, Wijetị IPy nke ga-enye gị ohere ịme ihe niile edepụtara n'elu wee chekwaa ya niile na faịlụ pụrụ iche - laptọọpụ IPython.
Навигация
- Atụmatụ iwepụ orbital
- Nwụnye na nhazi nke usoro isi
- Ịwụnye ngwanrọ bụ isi na ịtọlite usoro
- Ịwụnye na ịhazi JupyterLab
- Ịkekọrịta data n'etiti onye ọbịa
- Ndewo Ụwa!
- Ịgbasawanye ike nke Python
- Modul ule na JupyterLab
- Kedu ihe ọzọ?
Atụmatụ iwepụ orbital ^
Ka anyị depụta obere atụmatụ ime ihe iji mee ka ọ dịrị anyị mfe itinye atụmatụ a n'elu:
- Ka anyị wụnye wee malite akpa dabere na ngwa nkesa Linux Alpine. Anyị ga-eji nkesa a n'ihi na ọ na-achọ minimalism ma wụnye naanị sọftụwia kachasị mkpa na ya, ọ nweghị ihe ọ bụla.
- Ka anyị tinyekwuo diski mebere n'ime akpa wee nye ya aha -
hostfs
ma tinye ya na sistemụ faịlụ mgbọrọgwụ. Disk a ga-eme ka o kwe omume iji faịlụ dị na onye ọbịa sitere na ndekọ enyere n'ime akpa ahụ. Ya mere, data anyị ga-adabere na akpa ahụ. Ọ bụrụ na ehichapụ akpa ahụ, data ga-adị na onye ọbịa. Ọzọkwa, atụmatụ a bara uru maka ịkekọrịta otu data n'etiti ọtụtụ akpa na-ejighi usoro netwọk ọkọlọtọ nke nkesa akpa. - Ka anyị tinye Bash, sudo, ọba akwụkwọ dị mkpa, tinye ma hazie onye ọrụ sistemụ
- Ka anyị tinye Python, modul ma chịkọta ọnụọgụ abụọ dabere maka ha
- Ka anyị wụnye na igba egbe ụlọ nyocha jupyter, Hazie ọdịdị ahụ, tinye mgbakwunye maka ya.
N'isiokwu a, anyị ga-amalite site na ịmalite akpa ahụ, anyị agaghị atụle ịwụnye na ịhazi LXD, ị nwere ike ịhụ ihe a niile na edemede ọzọ - Akụkụ bụ isi nke LXD - Sistemụ akpa Linux.
Nwụnye na nhazi nke usoro isi ^
Anyị na-emepụta akpa nwere iwu nke anyị na-akọwapụta onyonyo a - alpine3
, ihe nchọpụta maka akpa - jupyterlab
na, ọ bụrụ na ọ dị mkpa, profaịlụ nhazi:
lxc init alpine3 jupyterlab --profile=default --profile=hddroot
Ebe a ka m na-eji profaịlụ nhazi hddroot
nke na-akọwapụta imepụta akpa nwere nkebi mgbọrọgwụ n'ime Ọdọ mmiri nchekwa dị na diski HDD anụ ahụ:
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
Nke a na-enye m ohere ịnwale arịa na diski HDD, na-echekwa akụrụngwa nke diski SSD, nke dịkwa na sistemụ m 🙂 nke m mepụtara profaịlụ nhazi dị iche. ssdroot
.
Mgbe emechara akpa ahụ, ọ dị na steeti STOPPED
, yabụ anyị kwesịrị ịmalite ya site na iji sistemụ init n'ime ya:
lxc start jupyterlab
Ka anyị jiri igodo gosipụta ndepụta arịa dị na LXD -c
nke na-egosi nke cngosi olumns:
lxc list -c ns4b
+------------+---------+-------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+-------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.198 (eth0) | hddpool |
+------------+---------+-------------------+--------------+
Mgbe ị na-eke akpa ahụ, a na-ahọrọ adreesị IP na enweghị usoro, ebe anyị na-eji profaịlụ nhazi default
nke ahaziri na mbụ na akụkọ Akụkụ bụ isi nke LXD - Sistemụ akpa Linux.
Anyị ga-agbanwe adreesị IP a ka ọ bụrụ nke a na-echefu echefu site na ịmepụta netwọk netwọk na ọkwa akpa, ọ bụghị na ọkwa profaịlụ nhazi dịka ọ dị ugbu a na nhazi ugbu a. Ị gaghị eme nke a, ị nwere ike ịgafe ya.
Ịmepụta interface netwọk eth0
nke anyị na-ejikọta na mgba ọkụ (njikọ netwọk) lxdbr0
nke anyị nyere NAT aka dị ka isiokwu gara aga na akpa ahụ ga-enweta ịntanetị ugbu a, anyị na-ekenye adreesị IP static na interface ahụ - 10.0.5.5
:
lxc config device add jupyterlab eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
Ka ịgbakwunye ngwaọrụ, akpa ahụ ga-emerịrịrịrị:
lxc restart jupyterlab
Na-enyocha ọkwa nke akpa ahụ:
lxc list -c ns4b
+------------+---------+------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.5 (eth0) | hddpool |
+------------+---------+------------------+--------------+
Ịwụnye ngwanrọ bụ isi na ịtọlite usoro ^
Iji hazie akpa anyị, ịkwesịrị ịwụnye ngwanro ndị a:
ngwugwu
Description
bash
GNU Bourne Again shei
bash-emecha
Mmecha mmemme maka shei bash
sudo
Nye ụfọdụ ndị ọrụ ikike ịme ụfọdụ iwu dị ka mgbọrọgwụ
onyinyo
Okwuntughe na ngwa njikwa akaụntụ nwere nkwado maka faịlụ onyinyo na PAM
tzdata
Isi mmalite maka mpaghara oge na data nchekwa ụbọchị
nano
Pico editọ clone nwere nkwalite
Na mgbakwunye, ịnwere ike ịwụnye nkwado na ibe sistemụ mmadụ site na ịwụnye ngwugwu ndị a - man man-pages mdocml-apropos less
lxc exec jupyterlab -- apk add bash bash-completion sudo shadow tzdata nano
Ka anyị lee iwu na igodo ndị anyị ji mee ihe:
lxc
- Kpọọ onye ahịa LXDexec
- Usoro ndị ahịa LXD na-eme iwu n'ime akpajupyterlab
- NJ arịa--
- igodo pụrụ iche nke na-akọwapụtaghị ịkọwa igodo ọzọ dị ka igodo makalxc
ma nyefee eriri nke fọdụrụ ka ọ dị na akpa ahụapk
- Onye njikwa ngwugwu nkesa Alpine Linuxadd
- Usoro njikwa ngwugwu nke na-etinye ngwugwu akọwapụtara mgbe iwu ahụ gasịrị
Ọzọ, anyị ga-edozi mpaghara oge na usoro Europe/Moscow
:
lxc exec jupyterlab -- cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Mgbe ị wụnye mpaghara oge, ngwugwu tzdata
adịghịzi mkpa na sistemụ, ọ ga-eweghara ohere, yabụ ka anyị hichapụ ya:
lxc exec jupyterlab -- apk del tzdata
Na-enyocha mpaghara oge:
lxc exec jupyterlab -- date
Wed Apr 15 10:49:56 MSK 2020
Ka ị ghara iwepụta oge dị ukwuu ịtọlite Bash maka ndị ọrụ ọhụrụ n'ime akpa, n'ime usoro ndị a, anyị ga-eṅomi faịlụ skel emebere emebere site na sistemụ nnabata na ya. Nke a ga-enye gị ohere ịme Bash mma n'ime akpa mmekọrịta. Sistemụ nnabata m bụ Manjaro Linux na faịlụ ndị a na-e copyomi /etc/skel/.bash_profile
, /etc/skel/.bashrc
, /etc/skel/.dir_colors
na ụkpụrụ ha dabara maka Alpine Linux ma ghara ịkpata nsogbu dị oke egwu, mana ị nwere ike ịnwe nkesa dị iche ma ịkwesịrị ịchọpụta n'onwe gị ma ọ bụrụ na enwere njehie mgbe ị na-agba Bash n'ime akpa.
Detuo faịlụ skel na akpa. Igodo --create-dirs
ga-emepụta akwụkwọ ndekọ aha ndị dị mkpa ma ọ bụrụ na ha adịghị:
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
Maka onye ọrụ mgbọrọgwụ dị ugbu a, detuo faịlụ skel ndị e depụtaghachiri n'ime akpa ahụ gaa na ndekọ ụlọ:
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 na-etinye shei sistemụ maka ndị ọrụ /bin/sh
, anyị ga-eji dochie ya root
onye ọrụ na Bash:
lxc exec jupyterlab -- usermod --shell=/bin/bash root
na root
onye ọrụ ahụ enweghị paswọọdụ, ọ kwesịrị ịtọ paswọọdụ. Iwu a ga-ewepụta ma debe ya paswọọdụ ọhụrụ, nke ị ga-ahụ na ihuenyo njikwa mgbe emechara ya:
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
Ọzọkwa, ka anyị mepụta onye ọrụ sistemụ ọhụrụ - jupyter
nke anyị ga-ahazi ma emechaa ụlọ nyocha jupyter:
lxc exec jupyterlab -- useradd --create-home --shell=/bin/bash jupyter
Ka anyị mepụta ma tọọ paswọọdụ maka ya:
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
Ọzọ, anyị ga-eme iwu abụọ, nke mbụ ga-emepụta otu usoro sudo
, na nke abụọ ga-agbakwunye onye ọrụ na ya jupyter
:
lxc exec jupyterlab -- groupadd --system sudo
lxc exec jupyterlab -- groupmems --group sudo --add jupyter
Ka anyị hụ otu ndị ọrụ nwere jupyter
:
lxc exec jupyterlab -- id -Gn jupyter
jupyter sudo
Ihe niile dị mma, ka anyị gawa n'ihu.
Hapụ ndị ọrụ niile bụ ndị otu a sudo
jiri iwu sudo
. Iji mee nke a, gbaa edemede na-esonụ, ebe sed
uncomments akara oke na faịlụ nhazi /etc/sudoers
:
lxc exec jupyterlab -- /bin/bash -c "sed --in-place -e '/^#[ t]*%sudo[ t]*ALL=(ALL)[ t]*ALL$/ s/^[# ]*//' /etc/sudoers"
Ịwụnye na ịhazi JupyterLab ^
ụlọ nyocha jupyter bụ ngwa Python, yabụ anyị ga-ebu ụzọ tinye ntụgharị okwu a. Ọzọkwa, ụlọ nyocha jupyter anyị ga-etinye n'iji njikwa ngwugwu Python pip
, ma ọ bụghị usoro otu, n'ihi na ọ nwere ike ịbụ ihe ochie na ebe nchekwa sistemu ya mere, anyị ga-eji aka dozie ihe ndabere maka ya site na ịwụnye ngwugwu ndị a - python3 python3-dev gcc libc-dev zeromq-dev
:
lxc exec jupyterlab -- apk add python3 python3-dev gcc libc-dev zeromq-dev
Ka anyị kwalite Python modul na njikwa ngwugwu pip
ruo ụdị ugbu a:
lxc exec jupyterlab -- python3 -m pip install --upgrade pip setuptools wheel
Wụnye ụlọ nyocha jupyter site na njikwa ngwugwu pip
:
lxc exec jupyterlab -- python3 -m pip install jupyterlab
Ebe ọ bụ na extensions na ụlọ nyocha jupyter bụ nnwale na ejighị ngwungwu jupyterlab ebubata ya n'ihu ọha, yabụ anyị ga-eji aka tinye ma hazie ya.
Ka anyị tinye NodeJS na onye njikwa ngwugwu maka ya - NPM, ebe ọ bụ ụlọ nyocha jupyter na-eji ha maka ndọtị ya:
lxc exec jupyterlab -- apk add nodejs npm
Ka ndọtị maka ụlọ nyocha jupyter nke anyị ga-etinye na-arụ ọrụ, ha kwesịrị ka etinyere na ndekọ onye ọrụ ebe ọ bụ na a ga-ewepụta ngwa ahụ site na onye ọrụ jupyter
. Nsogbu a bụ na ọ nweghị oke na iwu mmalite nke enwere ike ịfefe na ndekọ; ngwa a na-anabata naanị mgbanwe gburugburu ebe obibi, yabụ anyị ga-akọwarịrị ya. Iji mee nke a, anyị ga-ede iwu mbupụ agbanwe agbanwe JUPYTERLAB_DIR
na gburugburu onye ọrụ jupyter
, ịgba akwụkwọ .bashrc
nke a na-egbu oge ọ bụla onye ọrụ batara:
lxc exec jupyterlab -- su -l jupyter -c "echo -e "nexport JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab" >> .bashrc"
Iwu na-esote ga-etinye ndọtị pụrụ iche - njikwa ndọtị in ụlọ nyocha 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"
Ugbu a ihe niile dị njikere maka mbido mbụ ụlọ nyocha jupyter, mana anyị ka nwere ike ịwụnye mgbakwunye ole na ole bara uru:
toc
- Isiokwu ọdịnaya, na-ewepụta ndepụta nke isiokwu na edemede/akwụkwọ ndetujupyterlab-horizon-theme
- UI isiokwujupyterlab_neon_theme
- UI isiokwujupyterlab-ubu-theme
- Ọzọ isiokwu si n'aka odee isiokwu a :) Ma n'okwu a, a ga-egosipụta nrụnye sitere na ebe nchekwa GitHub
Yabụ, mee iwu ndị a n'usoro iji wụnye ndọtị ndị a:
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"
Mgbe ị wụnye ihe ndọtị ahụ, anyị ga-achịkọta ha, ebe ọ bụ na mbụ, n'oge echichi, anyị akọwapụtara igodo --no-build
iji chekwaa oge. Ugbu a, anyị ga-eme ngwa ngwa site n'ịchịkọta ha ọnụ n'otu oge:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter lab build"
Ugbu a, gbaa iwu abụọ a ka iji mee ya nke mbụ ụlọ nyocha jupyter. Ọ ga-ekwe omume iji otu iwu malite ya, ma na nke a, iwu mmalite, nke siri ike icheta n'uche gị, ga-echeta ya site na bash na akpa, ọ bụghị na onye ọbịa, ebe enwererịrị iwu zuru oke. idekọ ha na akụkọ ihe mere eme :)
Banye na akpa dị ka onye ọrụ jupyter
:
lxc exec jupyterlab -- su -l jupyter
Na-esote, gbaa ọsọ ụlọ nyocha jupyter na igodo na paramita dị ka egosiri:
[jupyter@jupyterlab ~]$ jupyter lab --ip=0.0.0.0 --no-browser
Gaa na adreesị na ihe nchọgharị weebụ gị http://10.0.5.5:8888 na ibe na-emepe tinye akara nweta nke ị ga-ahụ na console. Detuo ma mado ya na ibe, wee pịa Banye. Mgbe ịbanyechara, gaa na menu ndọtị dị n'aka ekpe, dị ka egosiri na foto dị n'okpuru ebe a, ebe a ga-akpali gị, mgbe ị na-eme ka njikwa ndọtị rụọ ọrụ, were ihe egwu nchekwa site na ịwụnye ndọtị sitere na ndị ọzọ nke iwu nyere. Mmepe JupyterLab ọ bụghị maka ya:
Agbanyeghị, anyị na-ekewapụta ihe niile ụlọ nyocha jupyter ma tinye ya n'ime akpa ka ndọtị ndị ọzọ na-achọ ma jiri NodeJS enweghị ike izu ohi data na diski ọzọ karịa ndị anyị na-emeghe n'ime akpa ahụ. Nweta akwụkwọ nkeonwe gị na onye ọbịa n'ime /home
Usoro sitere na akpa enweghị ike ịga nke ọma, ma ọ bụrụ na ha emee, mgbe ahụ ịkwesịrị ịnwe ohere na faịlụ na sistemụ nnabata, ebe ọ bụ na anyị na-agbaba akpa ahụ. ọnọdụ enweghị ohere. Dabere na ozi a, ị nwere ike ịchọpụta ihe ize ndụ nke itinye mgbakwunye na ụlọ nyocha jupyter.
Akwụkwọ ndetu IPython emepụtara (ibe ndị dị na ụlọ nyocha jupyter) a ga-emepụta ugbu a na ndekọ ụlọ onye ọrụ - /home/jupyter
, mana atụmatụ anyị bụ kewaa data (kekọrịta) n'etiti onye ọbịa na akpa, yabụ laghachi na njikwa ma kwụsị ụlọ nyocha jupyter site na ime hotkey - CTRL+C
na ịza y
mgbe arịrịọ. Mgbe ahụ kwusi nnọkọ mmekọrịta nke onye ọrụ jupyter
emecha hotkey CTRL+D
.
Ịkekọrịta data n'etiti onye ọbịa ^
Iji kesaa data na onye ọbịa, ịkwesịrị ịmepụta ngwaọrụ n'ime akpa nke na-enye gị ohere ime nke a ma mee nke a, mee iwu na-esonụ ebe anyị na-akọwa igodo ndị a:
lxc config device add
- Iwu ahụ na-agbakwụnye nhazi ngwaọrụjupyter
- ID nke akpa nke agbakwunyere nhazihostfs
- NJ ngwaọrụ. Ị nwere ike ịtọ aha ọ bụla.disk
- E gosipụtara ụdị ngwaọrụ ahụpath
- Ezipụta ụzọ n'ime akpa nke LXD ga-ebunye ngwaọrụ asource
- Ezipụta isi iyi, ụzọ na ndekọ na usu na ị chọrọ ịkọrọ na akpa. Ezipụta ụzọ dịka mmasị gị siri dị
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks
Maka katalọgụ /home/dv/projects/ipython-notebooks
Ekwesịrị ịtọ ikike na onye ọrụ akpa nwere UID ugbu a SubUID + UID
, lee isiakwụkwọ Nchekwa. Ihe ùgwù akpa ke ibuotikọ oro Akụkụ bụ isi nke LXD - Sistemụ akpa Linux.
Tọọ ikike na onye ọbịa, ebe onye nwe ya ga-abụ onye ọrụ akpa jupyter
, na mgbanwe $USER
ga-akọwapụta onye ọrụ nnabata gị dị ka otu:
sudo chown 1001000:$USER /home/dv/projects/ipython-notebooks
Ndewo Ụwa! ^
Ọ bụrụ na ị ka nwere nnọkọ console mepere n'ime akpa ya ụlọ nyocha jupyter, wee malitegharịa ya na ọhụrụ igodo --notebook-dir
site na ịtọ uru /mnt/hostfs
dị ka ụzọ mgbọrọgwụ nke laptọọpụ n'ime akpa maka ngwaọrụ anyị mepụtara na nzọụkwụ gara aga:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
Mgbe ahụ gaa na ibe http://10.0.5.5:8888 wee mepụta laptọọpụ mbụ gị site na ịpị bọtịnụ dị na ibe dị ka egosiri na foto dị n'okpuru:
Mgbe ahụ, n'ọhịa dị na ibe ahụ, tinye koodu Python nke ga-egosipụta kpochapụ Hello World!
. Mgbe ịmechara ịbanye, pịa CTRL+ENTER
ma ọ bụ bọtịnụ "egwu" dị na toolbar dị n'elu ka JupyterLab mee nke a:
N'oge a, ihe fọrọ nke nta ka ọ bụrụ ihe niile dị njikere maka ojiji, mana ọ ga-abụ ihe na-enweghị mmasị ma ọ bụrụ na anyị etinyeghị modul Python ọzọ (ngwa zuru oke) nke nwere ike gbasaa ike ọkọlọtọ nke Python na nke ọma. ụlọ nyocha jupyterYa mere, ka anyị gaa n'ihu :)
PS Ihe na-adọrọ mmasị bụ na mmejuputa ochie Jupyterị n'okpuru koodu aha Akwụkwọ Jupyter apụbeghị ma ọ dị na ya ụlọ nyocha jupyter. Ka ịgbanwee gaa na ụdị ochie, soro njikọ na-agbakwunye suffix na adreesị/tree
, na ntughari na ụdị ọhụrụ a na-eme ya na suffix /lab
, mana ekwesighi ịkọwa ya:
- Akwụkwọ ndetu Jupyter - http://10.0.5.5:8888/tree
- Ụlọ nyocha Jupyter - http://10.0.5.5:8888/lab
Ịgbasawanye ike nke Python ^
Na ngalaba a, anyị ga-etinye modul asụsụ Python dị ike dị ka Nọmba, Pandas, matplotlib, Wijetị IPy Nsonaazụ nke etinyere na laptọọpụ ụlọ nyocha jupyter.
Tupu ịwụnye modul Python edepụtara edepụtara site na njikwa ngwugwu pip
anyị ga-ebu ụzọ dozie ndabere sistemụ na Alpine Linux:
g++
- Achọrọ maka mkpokọta modul, ebe ọ bụ na etinyere ụfọdụ n'ime ha n'asụsụ C + ma jikọọ na Python na oge ojiri gaa dịka modul ọnụọgụ abụọfreetype-dev
- ndabere maka Python modul matplotlib
Ịwụnye ndabere:
lxc exec jupyterlab -- apk add g++ freetype-dev
Enwere otu nsogbu: na ọnọdụ nkesa Alpine Linux dị ugbu a, ọ gaghị ekwe omume ịchịkọta ụdị ọhụrụ nke NumPy; njehie nchịkọta ga-apụta na enweghị m ike idozi:
njehieEnweghị ike iwu wiil maka ọnụọgụ nke na-eji PEP 517 na enweghị ike itinye ya ozugbo
Ya mere, anyị ga-etinye modul a dị ka ngwugwu sistemu nke na-ekesa ụdị agbakọtalarị, mana ọ dị ntakịrị karịa nke dị ugbu a na saịtị:
lxc exec jupyterlab -- apk add py3-numpy py3-numpy-dev
Na-esote, wụnye Python modul site na njikwa ngwugwu pip
. Biko nwee ndidi ka ụfọdụ modul ga-achịkọta ma nwee ike were nkeji ole na ole. Na igwe m, nchịkọta were ~ nkeji iri na ise:
lxc exec jupyterlab -- python3 -m pip install pandas ipywidgets matplotlib
Na-ehichapụ cache nrụnye:
lxc exec jupyterlab -- rm -rf /home/*/.cache/pip/*
lxc exec jupyterlab -- rm -rf /root/.cache/pip/*
Modul ule na JupyterLab ^
Ọ bụrụ na ị na-agba ọsọ ụlọ nyocha jupyter, Malitegharịa ya ka emee ka modul arụnyere ọhụrụ arụ ọrụ. Iji mee nke a, na nnọkọ njikwa, pịa CTRL+C
ebe i nwere ya na-agba ọsọ banye y
ịkwụsị arịrịọ wee malite ọzọ ụlọ nyocha jupyter site na ịpị akụ elu na kiiboodu ka ị ghara itinye iwu ahụ ugboro ugboro Enter
ibido ya:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
Gaa na ibe http://10.0.5.5:8888/lab ma ọ bụ megharịa ibe ahụ na ihe nchọgharị gị, wee tinye koodu a na cell akwụkwọ ọhụ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
Ị kwesịrị ị nweta nsonaazụ dị ka foto dị n'okpuru ebe a Wijetị IPy na-ewepụta ihe UI na ibe nke na-emekọrịta ihe na koodu isi mmalite, yana kwa matplotlib na-egosiputa nsonaazụ koodu ahụ n'ụdị eserese dị ka eserese ọrụ:
Ọtụtụ ihe atụ Wijetị IPy ị nwere ike ịhụ ya na nkuzi ebe a
Kedu ihe ọzọ? ^
Emeela nke ọma ma ọ bụrụ na ị nọrọ wee ruo na njedebe nke akụkọ ahụ. Ejighị m ụma biputere edemede emebere na njedebe nke isiokwu ga-arụnye ụlọ nyocha jupyter na "otu pịa" iji gbaa ndị ọrụ ume :) Ma ị nwere ike ime ya n'onwe gị, ebe ọ bụ na ị maralarị otú, na-anakọta iwu n'ime otu edemede Bash :)
Ị nwekwara ike:
- Tọọ aha netwọkụ maka akpa karịa adreesị IP site na ide ya n'ụzọ dị mfe
/etc/hosts
ma pịnye adreesị na ihe nchọgharị ahụ http://jupyter.local:8888 - Jiri oke akụrụngwa egwu egwu egwu, maka nke a gụọ isiakwụkwọ n'ime ikike LXD bụ isi ma ọ bụ nweta ozi ndị ọzọ na saịtị ndị nrụpụta LXD.
- Gbanwee isiokwu:
Na ọtụtụ ihe ọzọ ị nwere ike ime! Ọ gwụla. Achọrọ m gị ịga nke ọma!
Emelitere: 15.04.2020/18/30 XNUMX:XNUMX - Njehie emeziri n'isiakwụkwọ "Ndewo, Ụwa!"
emelitere: 16.04.2020/10/00 XNUMX:XNUMX - Edoziziri yana gbakwunyere ederede na nkọwa nke ịgbalite njikwa ndọtị ụlọ nyocha jupyter
Emelitere: 16.04.2020/10/40 XNUMX:XNUMX - Achọpụtara njehie ndị emeziri na ederede wee gbanwee ntakịrị ka mma isi nke "Ịwụnye ngwa ngwa na ịtọlite sistemu"
isi: www.habr.com