Bukak Jupyter menyang orbit LXD

Apa sampeyan wis nyoba nganggo kode utawa utilitas sistem ing Linux tanpa kuwatir babagan sistem sing ndasari lan nyuwek kabeh yen ana kesalahan ing kode sing kudune nganggo hak istimewa root?

Nanging kepiye yen sampeyan kudu nyoba utawa mbukak kabeh klompok macem-macem layanan mikro ing siji mesin? Satus utawa malah sewu?

Kanthi mesin virtual sing dikelola dening hypervisor, masalah kasebut bisa lan bakal ditanggulangi, nanging kanthi biaya apa? Contone, wadhah ing LXD adhedhasar distribusi Linux Alpine mung nganggo 7.60MB RAM, lan ing ngendi partisi ROOT manggoni sawise wiwitan 9.5MB! Kepiye carane sampeyan seneng, Elon Musk? Aku nyaranake mriksa metu kemampuan dhasar LXD - sistem wadhah ing Linux

Sawise dadi cetha ing umum apa kontaner LXD, ayo kang pindhah luwih lan mikir, apa yen ana platform harvester ngendi sampeyan bisa aman mbukak kode kanggo inang, generate grafik, mbosenke (interaktif) link UI- widget karo kode, tambahan kode karo teks karo blackjack ... format? Sawetara jinis blog interaktif? Wah... Aku pengin! Pengin! πŸ™‚

Deleng ing ngisor kucing sing bakal diluncurake ing wadhah jupyter lab - generasi sabanjure antarmuka panganggo tinimbang Jupyter Notebook kuna, lan kita uga bakal nginstal modul Python kayata NomPy, Pandas, matplotlib, IPyWidgets sing bakal ngidini sampeyan nindakake kabeh sing kadhaptar ing ndhuwur lan nyimpen kabeh ing file khusus - laptop IPython.

Bukak Jupyter menyang orbit LXD

Rencana take-off orbital ^

Bukak Jupyter menyang orbit LXD

Ayo kita njlentrehake rencana aksi ringkes kanggo nggampangake kita ngetrapake skema ing ndhuwur:

  • Ayo nginstal lan miwiti wadhah adhedhasar kit distribusi Alpine Linux. Kita bakal nggunakake distribusi iki amarga ngarahake minimalism lan mung bakal nginstal piranti lunak sing paling dibutuhake, ora ana sing berlebihan.
  • Ayo nambah disk virtual tambahan ing wadhah kasebut lan menehi jeneng - hostfs lan pasang menyang sistem file ROOT. Disk iki bakal ngidini sampeyan nggunakake file ing host saka direktori sing diwenehake ing wadhah kasebut. Mangkono, data kita bakal bebas saka wadhah kasebut. Yen wadhah wis dibusak, data bakal tetep ing host. Uga, skema iki migunani kanggo nuduhake data sing padha ing antarane akeh wadhah tanpa nggunakake mekanisme jaringan standar distribusi wadhah.
  • Ayo nginstal Bash, sudo, perpustakaan sing dibutuhake, nambah lan ngatur pangguna sistem
  • Ayo nginstal Python, modul lan kompilasi dependensi binar kanggo wong-wong mau
  • Ayo nginstal lan miwiti jupyter lab, ngatur tampilan, nginstal ekstensi kanggo iku.

Ing artikel iki kita bakal miwiti karo mbukak wadhah, kita ora bakal nimbang nginstal lan konfigurasi LXD, sampeyan bisa nemokake kabeh iki ing artikel liyane - Fitur dhasar LXD - sistem wadah Linux.

Instalasi lan konfigurasi saka sistem dhasar ^

Kita nggawe wadhah kanthi printah ing ngendi kita nemtokake gambar - alpine3, pengenal kanggo wadhah - jupyterlab lan, yen perlu, profil konfigurasi:

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

Ing kene aku nggunakake profil konfigurasi hddroot sing nemtokake kanggo nggawe wadhah karo partisi ROOT ing Kolam Panyimpenan dumunung ing disk HDD fisik:

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

Iki menehi kesempatan kanggo eksprimen karo wadhah ing disk HDD, nyimpen sumber daya disk SSD, sing uga kasedhiya ing sistemku πŸ™‚ sing aku wis nggawe profil konfigurasi sing kapisah. ssdroot.

Sawise wadhah digawe, ana ing negara STOPPED, dadi kita kudu miwiti kanthi mbukak sistem init ing:

lxc start jupyterlab

Ayo nampilake dhaptar wadhah ing LXD nggunakake tombol -c kang nuduhake kang ctampilan olumns:

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

Nalika nggawe wadhah, alamat IP dipilih kanthi acak, amarga kita nggunakake profil konfigurasi default sing sadurunge diatur ing artikel Fitur dhasar LXD - sistem wadah Linux.

Kita bakal ngganti alamat IP iki menyang liyane paweling dening nggawe antarmuka jaringan ing tingkat wadhah, lan ora ing tingkat profil konfigurasi minangka saiki ing konfigurasi saiki. Sampeyan ora kudu nindakake iki, sampeyan bisa ngliwati.

Nggawe antarmuka jaringan eth0 sing kita pranala menyang switch (jembatan jaringan) lxdbr0 ing ngendi kita ngaktifake NAT miturut artikel sadurunge lan wadhah kasebut saiki bakal duwe akses menyang Internet, lan uga menehi alamat IP statis menyang antarmuka - 10.0.5.5:

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

Sawise nambahake piranti, wadhah kasebut kudu urip maneh:

lxc restart jupyterlab

Priksa status wadhah:

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

Nginstal piranti lunak dhasar lan nyetel sistem ^

Kanggo ngatur wadhah kita, sampeyan kudu nginstal piranti lunak ing ngisor iki:

paket
Description

bash
Shell GNU Bourne Again

bash-completion
Rampung programmable kanggo cangkang bash

sudo
Menehi pangguna tartamtu kemampuan kanggo mbukak sawetara printah minangka ROOT

Shadow
Suite alat manajemen sandhi lan akun kanthi dhukungan kanggo file bayangan lan PAM

tzdata
Sumber kanggo zona wektu lan data wayah awan

nano
Klone editor Pico kanthi tambahan

Kajaba iku, sampeyan bisa nginstal dhukungan ing kaca manual sistem kanthi nginstal paket ing ngisor iki βˆ’ man man-pages mdocml-apropos less

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

Ayo goleki perintah lan tombol sing digunakake:

  • lxc - Telpon klien LXD
  • exec - cara klien LXD sing mbukak printah ing wadhah
  • jupyterlab - ID Wadhah
  • -- - A tombol khusus sing nemtokake ora kokwaca tombol luwih minangka tombol kanggo lxc lan pass liyane saka senar minangka kanggo wadhah
  • apk - Manajer paket distribusi Alpine Linux
  • add - Cara manajer paket sing nginstal paket sing ditemtokake sawise printah kasebut

Sabanjure, kita bakal nyetel zona wektu ing sistem Europe/Moscow:

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

Sawise nginstal zona wektu, paket kasebut tzdata ora perlu maneh ing sistem, bakal njupuk papan, mula ayo mbusak:

lxc exec jupyterlab -- apk del tzdata

Priksa zona wektu:

lxc exec jupyterlab -- date

Wed Apr 15 10:49:56 MSK 2020

Supaya ora nglampahi akeh wektu nyetel Bash kanggo pangguna anyar ing wadhah, ing langkah-langkah ing ngisor iki kita bakal nyalin file skel sing wis digawe saka sistem inang menyang. Iki bakal ngidini sampeyan prettify Bash ing wadhah interaktif. Sistem hostku yaiku Manjaro Linux lan file sing disalin /etc/skel/.bash_profile, /etc/skel/.bashrc, /etc/skel/.dir_colors ing asas padha cocok kanggo Alpine Linux lan ora nimbulakΓ© masalah kritis, nanging sampeyan bisa uga duwe distribusi beda lan sampeyan kudu independen tokoh metu yen ana kesalahan nalika mbukak Bash ing wadhah.

Nyalin file skel menyang wadhah. kunci --create-dirs bakal nggawe direktori sing dibutuhake yen ora ana:

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

Kanggo pangguna root sing wis ana, nyalin file skel sing mung disalin menyang wadhah menyang direktori ngarep:

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 nginstal cangkang sistem kanggo pangguna /bin/sh, kita bakal ngganti karo root pangguna ing Bash:

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

sing root pangguna ora passwordless, kang kudu nyetel sandhi. Printah ing ngisor iki bakal ngasilake lan nyetel sandhi acak anyar kanggo dheweke, sing bakal sampeyan deleng ing layar konsol sawise dieksekusi:

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

Uga, ayo nggawe pangguna sistem anyar - jupyter sing bakal kita atur mengko jupyter lab:

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

Ayo nggawe lan nyetel sandhi kanggo:

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

Sabanjure, kita bakal nglakokake rong perintah, sing pisanan bakal nggawe grup sistem sudo, lan nomer loro bakal nambah pangguna jupyter:

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

Ayo ndeleng klompok apa pangguna jupyter:

lxc exec jupyterlab -- id -Gn jupyter

jupyter sudo

Kabeh ok, ayo maju.

Ngidini kabeh pangguna sing dadi anggota grup sudo nggunakake printah sudo. Kanggo nindakake iki, mbukak script ing ngisor iki, ngendi sed uncomments baris parameter ing file konfigurasi /etc/sudoers:

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

Nginstal lan ngatur JupyterLab ^

jupyter lab iku aplikasi Python, supaya kita kudu nginstal interpreter iki. ugi, jupyter lab kita bakal nginstal nggunakake manajer paket Python pip, lan dudu sistem siji, amarga bisa uga wis lawas ing repositori sistem lan mulane, kita kudu ngrampungake dependensi kasebut kanthi manual kanthi nginstal paket ing ngisor iki βˆ’ python3 python3-dev gcc libc-dev zeromq-dev:

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

Ayo nganyari modul python lan manajer paket pip menyang versi saiki:

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

Instal jupyter lab liwat manajer paket pip:

lxc exec jupyterlab -- python3 -m pip install jupyterlab

Wiwit ekstensi ing jupyter lab iku eksperimen lan ora resmi dikirim karo paket jupyterlab, supaya kita kudu nginstal lan ngatur kanthi manual.

Ayo nginstal NodeJS lan manajer paket kanggo - NPM, wiwit jupyter lab digunakake kanggo ekstensi:

lxc exec jupyterlab -- apk add nodejs npm

Kanggo ekstensi kanggo jupyter lab sing bakal kita instal makarya, padha kudu diinstal ing direktori pangguna wiwit aplikasi bakal dibukak saka pangguna jupyter. Masalahe yaiku ora ana parameter ing printah peluncuran sing bisa dikirim menyang direktori; aplikasi mung nampa variabel lingkungan lan mula kita kudu nemtokake. Kanggo nindakake iki, kita bakal nulis perintah ekspor variabel JUPYTERLAB_DIR ing lingkungan pangguna jupyter, kanggo file .bashrcsing dieksekusi saben pangguna mlebu:

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

Printah sabanjure bakal nginstal ekstensi khusus - extension manager in jupyter lab:

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

Saiki kabeh wis siyap kanggo peluncuran pisanan jupyter lab, nanging kita isih bisa nginstal sawetara ekstensi migunani:

  • toc - Daftar Isi, nggawe dhaptar judhul ing artikel / notebook
  • jupyterlab-horizon-theme - Tema UI
  • jupyterlab_neon_theme - Tema UI
  • jupyterlab-ubu-theme - Siji liyane tema saka penulis artikel iki :) Nanging ing kasus iki, instalasi saka repositori GitHub bakal ditampilake

Dadi, jalanake perintah ing ngisor iki kanthi urutan kanggo nginstal ekstensi kasebut:

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"

Sawise nginstal ekstensi, kita kudu ngumpulake, amarga sadurunge, nalika instalasi, kita nemtokake kunci kasebut --no-build kanggo ngirit wektu. Saiki kita bakal nyepetake kanthi signifikan kanthi nggabungake bebarengan:

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

Saiki jalanake rong printah ing ngisor iki kanggo mbukak pisanan jupyter lab. Bisa uga diluncurake kanthi siji prentah, nanging ing kasus iki, perintah peluncuran, sing angel dieling-eling ing pikiran sampeyan, bakal dieling-eling kanthi bash ing wadhah, lan ora ing host, sing wis ana prentah sing cukup. kanggo ngrekam ing sejarah :)

Mlebet wadhah minangka pangguna jupyter:

lxc exec jupyterlab -- su -l jupyter

Sabanjure, mlayu jupyter lab kanthi tombol lan paramèter kaya sing dituduhake:

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

Pindhah menyang alamat ing browser web sampeyan http://10.0.5.5:8888 lan ing kaca sing mbukak ketik token akses sing bakal katon ing console. Salin lan tempel ing kaca, banjur klik Mlebu. Sawise mlebu, pindhah menyang menu ekstensi ing sisih kiwa, kaya sing ditampilake ing gambar ing ngisor iki, ing ngendi sampeyan bakal dijaluk, nalika ngaktifake manajer ekstensi, njupuk risiko keamanan kanthi nginstal ekstensi saka pihak katelu sing prentah kasebut. Pangembangan JupyterLab ora tanggung jawab:

Bukak Jupyter menyang orbit LXD

Nanging, kita ngisolasi kabeh jupyter lab lan lebokake ing wadhah supaya ekstensi pihak katelu sing mbutuhake lan nggunakake NodeJS paling ora bisa nyolong data ing disk liyane saka sing mbukak ing wadhah kasebut. Njaluk menyang dokumen pribadi ing host ing /home pangolahan saka wadhah ora mungkin kasil, lan yen padha nindakake, sampeyan kudu duwe hak istimewa ing file ing sistem inang, awit kita mbukak wadhah ing mode unprivileged. Adhedhasar informasi iki, sampeyan bisa netepake risiko kalebu ekstensi ing jupyter lab.

Nggawe notebook IPython (kaca ing jupyter lab) saiki bakal digawe ing direktori ngarep pangguna - /home/jupyter, nanging rencana kita arep misahake data (nuduhake) antarane host lan wadhah, mula bali menyang konsol lan mandheg jupyter lab kanthi nglakokake hotkey - CTRL+C lan mangsuli y marang panyuwunan. Banjur mungkasi sesi interaktif pangguna jupyter ngrampungake hotkey CTRL+D.

Nuduhake data karo host ^

Kanggo nuduhake data karo host, sampeyan kudu nggawe piranti ing wadhah sing ngidini sampeyan nindakake lan nindakake iki, jalanake printah ing ngisor iki ing ngendi kita nemtokake kunci ing ngisor iki:

  • lxc config device add - Printah nambah konfigurasi piranti
  • jupyter - ID wadhah sing ditambahake konfigurasi
  • hostfs - ID piranti. Sampeyan bisa nyetel jeneng apa wae.
  • disk - Jinis piranti dituduhake
  • path - Nemtokake dalan ing wadhah sing bakal dipasang LXD piranti iki
  • source - Nemtokake sumber, path menyang direktori ing host sing pengin dituduhake karo wadhah kasebut. Nemtokake path miturut pilihan sampeyan
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks

Kanggo katalog /home/dv/projects/ipython-notebooks ijin kudu disetel kanggo pangguna wadhah sing saiki duwe UID padha karo SubUID + UID, ndeleng bab Safety. Keistimewaan Wadhah ing artikel kasebut Fitur dhasar LXD - sistem wadah Linux.

Setel ijin ing host, ing ngendi pemilik bakal dadi pangguna wadah jupyter, lan variabel $USER bakal nemtokake pangguna host sampeyan minangka grup:

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

Halo, World! ^

Yen sampeyan isih duwe sesi console mbukak ing wadhah karo jupyter lab, banjur miwiti maneh nganggo tombol anyar --notebook-dir kanthi nyetel nilai /mnt/hostfs minangka dalan menyang oyod laptop ing wadhah kanggo piranti sing digawe ing langkah sadurunge:

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

Banjur pindhah menyang kaca http://10.0.5.5:8888 lan nggawe laptop pisanan sampeyan kanthi ngeklik tombol ing kaca kaya sing ditampilake ing gambar ing ngisor iki:

Bukak Jupyter menyang orbit LXD

Banjur, ing lapangan ing kaca, ketik kode Python sing bakal nampilake klasik Hello World!. Yen wis rampung ngetik, penet CTRL+ENTER utawa tombol "muter" ing toolbar ing sisih ndhuwur supaya JupyterLab nindakake iki:

Bukak Jupyter menyang orbit LXD

Ing wektu iki, meh kabeh wis siyap dienggo, nanging ora bakal nyenengake yen kita ora nginstal modul Python tambahan (aplikasi lengkap) sing bisa nggedhekake kemampuan standar Python kanthi signifikan. jupyter lab, dadi ayo maju :)

PS Sing menarik yaiku implementasine lawas jupyter miturut jeneng kode Notebook Jupyter Kab wis ora ilang lan ana ing podo karo jupyter lab. Kanggo ngalih menyang versi lawas, tututi link nambahake seselan ing alamat/tree, lan transisi menyang versi anyar ditindakake kanthi sufiks /lab, nanging ora kudu ditemtokake:

Ngembangake kabisan Python ^

Ing bagean iki, kita bakal nginstal modul basa Python kuat kaya NomPy, Pandas, matplotlib, IPyWidgets asil sing digabungake menyang laptop jupyter lab.

Sadurunge nginstal modul Python sing kadhaptar liwat manajer paket pip kita kudu mutusake masalah dependensi sistem ing Alpine Linux:

  • g++ - Dibutuhake kanggo nyusun modul, amarga ana sawetara sing dileksanakake ing basa kasebut C ++ lan nyambung menyang Python nalika runtime minangka modul binar
  • freetype-dev - katergantungan kanggo modul Python matplotlib

Nginstal dependensi:

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

Ana siji masalah: ing negara distribusi Linux Alpine saiki, ora bakal bisa ngumpulake versi NumPy anyar; kesalahan kompilasi bakal katon sing ora bisa diatasi:

SULAYA: Ora bisa mbangun wheel kanggo numpy kang nggunakake PEP 517 lan ora bisa diinstal langsung

Mula, kita bakal nginstal modul iki minangka paket sistem sing nyebarake versi sing wis dikompilasi, nanging luwih tuwa tinimbang sing saiki kasedhiya ing situs kasebut:

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

Sabanjure, instal modul Python liwat manajer paket pip. Sabar amarga sawetara modul bakal dikompilasi lan butuh sawetara menit. Ing mesinku, kompilasi njupuk ~ 15 menit:

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

Mbusak cache instalasi:

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

Nguji modul ing JupyterLab ^

Yen sampeyan mlaku jupyter lab, miwiti maneh supaya modul sing mentas diinstal diaktifake. Kanggo nindakake iki, ing sesi console, klik CTRL+C ngendi sampeyan wis mlaku lan ketik y kanggo mungkasi panjalukan banjur miwiti maneh jupyter lab kanthi mencet panah munggah ing keyboard supaya ora ngetik printah maneh banjur Enter kanggo miwiti:

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

Bukak kaca http://10.0.5.5:8888/lab utawa refresh kaca ing browser sampeyan, banjur ketik kode ing ngisor iki ing sel notebook anyar:

%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

Sampeyan kudu entuk asil kaya ing gambar ing ngisor iki, ngendi IPyWidgets ngasilake unsur UI ing kaca sing sesambungan interaktif karo kode sumber, lan uga matplotlib nampilake asil kode ing wangun gambar minangka grafik fungsi:

Bukak Jupyter menyang orbit LXD

Akeh conto IPyWidgets sampeyan bisa nemokake ing tutorial kene

opo maneh? ^

Inggih rampung yen sampeyan tetep lan tekan pungkasan artikel. Aku sengaja ora ngirim script siap-digawe ing mburi artikel sing bakal diinstal jupyter lab ing "siji klik" kanggo nyengkuyung buruh :) Nanging sampeyan bisa nindakake dhewe, amarga sampeyan wis ngerti carane, wis diklumpukake printah menyang script Bash siji :)

Sampeyan uga bisa:

  • Setel jeneng jaringan kanggo wadhah tinimbang alamat IP kanthi nulis kanthi prasaja /etc/hosts lan ketik alamat ing browser http://jupyter.local:8888
  • Play watara karo watesan sumber kanggo wadhah, kanggo iki maca bab ing kemampuan LXD dhasar utawa entuk informasi luwih lengkap babagan situs pangembang LXD.
  • Ngganti tema:

Bukak Jupyter menyang orbit LXD

Lan luwih akeh sing bisa ditindakake! Mekaten. Aku pengin sampeyan sukses!

Dianyari: 15.04.2020/18/30 XNUMX:XNUMX - Dibenerake kesalahan ing bab "Hello, World!"
UPDATE: 16.04.2020/10/00 XNUMX:XNUMX - Dibenerake lan ditambahake teks ing katrangan babagan aktivasi manajer ekstensi jupyter lab
UPDATE: 16.04.2020/10/40 XNUMX:XNUMX - Dibenerake kesalahan sing ditemokake ing teks lan rada diganti supaya luwih apik bab "Nginstal piranti lunak dhasar lan nyetel sistem"

Source: www.habr.com

Add a comment