[PYTHON] Mettez Jupyter et Docker Compose dans votre Chromebook et utilisez-le comme un environnement de développement léger!

Préface

Chromebook est un navigateur uniquement, une machine basée sur l'utilisation d'Internet, Il est facile de penser que En fait, il peut également être utilisé comme une simple machine Linux.

** 3 façons d'utiliser ** Très ** légèrement **, ** rapide **. ** Bon marché **, ** En tant que terminal avec piles ** ** Fortement recommandé comme sous-machine **.

Dans cet article, en tant que mini / environnement de développement pour Linux, À partir de l'utilisation de base du Chromebook (pour le développement) ① Environnement Python en tant que bloc-notes Jupyter local (2) Environnement d'exécution de conteneur pouvant utiliser Docker-Compose En tant que procédure et commande de construction, Et écrivez le code de communication après cela à partir de zéro, Construction d'environnement pour les super débutants. Recommandé pour ceux qui souhaitent programmer sérieusement avec Chromebook. (Création du premier projet de 2020/09)

Informations préalables

Matériel utilisé

Chromebook pour ordinateur portable HP Chromebook HP x360 12b 12 pouces Convertible 2 en 1 Intel® Pentium 4 Go 64 Go eMMC Clavier japonais (numéro de modèle: 8MD65PA-AAAC) (Date limite de renouvellement: 2026)

À propos de "Pushing" du Chromebook HP x360 12b

De plus, s'il s'agit d'un petit système et que l'utilisation principale est comme une tablette Android, Lenovo IdeaPad Duet Chromebook Est également recommandé, mais parce que le clavier est un type de couverture Il ne convient pas au développement car il n'est pas utilisé dans le type de coque de montée. De plus, il n'y a pas d'USBTYpeA, de carte SD, de prise pour écouteurs, etc. J'ai senti que c'était un inconvénient du point de vue de l'extensibilité, donc je l'ai exclu des candidats.

Au contraire, si vous ne l'utilisez pas comme une tablette Android, S'il est un peu plus grand, comme un type de 14 pouces, la gamme d'options de performances s'élargira.

Personnellement, la bonne chose à propos du Chromebook est Il ressemble à une tablette et est «léger» à transporter et à démarrer. Si vous l'utilisez comme principal, le type 14 pouces est bon, si vous l'utilisez comme sous-marin Il y a une touche de 12 pouces ou moins en termes de commodité et de polyvalence même à l'intérieur, Est recommandé.

Comment obtenir des informations détaillées sur le système

Accès comme ci-dessous sur le navigateur

Entrez ce qui suit dans le champ URL


chrome://system/

Résultats (extrait partiel)


CHROMEOS_RELEASE_CHROME_MILESTONE
84

CHROMEOS_RELEASE_VERSION
13099.102.0

CHROME VERSION
84.0.4147.127

Comment faire fonctionner le ChromeBook lui-même. Que faire à l'avance

Raccourcis personnellement recommandés

「Ctrl + Alt + /」 Liste des raccourcis clavier

「Ctrl + W」 Fermer la fenêtre actuelle

「Ctrl + Shift + V」 Collez le contenu du presse-papiers sous forme de texte brut

「Ctrl +Touche d'affichage de la fenêtre(□||)」 Faites une capture d'écran

「alt + @ 」「alt +「 」 Faire de la fenêtre une taille fixe sur la moitié gauche (ou la moitié droite) de l'écran

「alt+^」 Basculer entre faire de la fenêtre l'écran entier et en faire la taille normale

À propos des applications Android

Il peut être installé normalement à partir de Google Play. Les éléments pris en charge sont affichés (la plupart d'entre eux sont pris en charge) Toutes les fonctionnalités ne fonctionnent pas pleinement. Les fonctions autour du réseau semblent un peu uniques. Cette fonctionnalité est trop pratique Vous devez choisir un modèle qui peut utiliser des tablettes tactiles et peut être utilisé comme une tablette. Comme les extensions Chrome, mais aussi les applications Android Des raccourcis seront ajoutés en parallèle avec les applications ChromeBook.

Bloc-notes / éditeur de texte

Pour le moment, il est bon de mettre celui qui est le plus basique et qui a les meilleurs points forts de syntaxe. Mettons dans une application d'édition appelée "Texte". https://chrome.google.com/webstore/detail/text/mmfbcljfglbokpmkimbfghdkjmjhdgbg

Il existe également un moyen d'insérer VisualStudioCode, etc. Bref, c'est "facile et léger", donc ça suffit.

Structure des fichiers / dossiers

À partir d'une application appelée "Fichier" équivalente à Explorer Fichier "téléchargé" (fichier local), Fichier "Linux (β)" (montage du terminal décrit plus loin), "Lire le fichier" ≒ fichier sous Android, Et Google Drive est accessible de manière transparente. De nombreux fichiers et applications sont complétés localement, Ce n'est pas impossible sans Web / réseau.


Fonction Linux (β) et construction de l'environnement Python

Une fonction pour faire fonctionner le terminal de Linux (Debian stretch). Introduit dans ChromeOS ver.69 ou version ultérieure.

Partage de fichiers / dossiers

Copier (partage du presse-papiers)

Le presse-papiers est partagé entre le côté Linux et le côté chromeOS, Par exemple, vérifiez la commande avec le navigateur côté chromeOS, Lorsque vous essayez de coller, soyez prudent car le raccourci est différent. Du côté chromeOS, appuyez sur "Ctrl + C" et non sur "Ctrl + V". Coller avec "Ctrl + Shift (⇧) + V" à la manière du côté terminal Linux. Bien sûr, après avoir démarré Jupyter etc. Vous pouvez écrire le code sur le navigateur, vous pouvez donc utiliser "Ctrl + V".

Sauvegarde et restauration de tout l'environnement Linux

Je pense qu'il y a peu d'informations, mais ce que vous devez savoir, c'est Vous pouvez sauvegarder entièrement cet environnement Linux en suivant la procédure "officielle". aide officielle de Chromebook https://support.google.com/chromebook/answer/9592813?hl=ja Vous pouvez être assuré si vous enregistrez la sauvegarde directement sur Google Drive, etc.

À propos, avec toutes les étapes de cet article et l'image HackMD Docker La capacité est d'environ 1,2 Go. Probablement environ 300 Mo à 400 Mo sur la base.

Vérifiez la version de l'ensemble du terminal

#Vérifiez la version du terminal ci-dessous
cat /etc/debian_version
> 10.1

De plus, avec le terminal en place Appuyez sur "Ctrl + Maj + p" pour afficher l'écran de réglage. Vous pouvez changer la couleur du thème.

Vérification de la version de Python 3

#Python2 n'est pas inclus, Python3 est inclus.
# pip/pip3 n'est pas inclus.

python -V
> -bash: python: command not found

python3 -V
> Python 3.7.3

which pip
>※Aucun

installation de pip

#Téléchargez le programme d'installation avec la commande suivante
curl -O https://bootstrap.pypa.io/get-pip.py

#Important: distuils.Si vous n'installez pas util à l'avance, vous obtiendrez l'erreur suivante.
# ModuleNotFoundError: No module named 'distutils.util'
sudo apt-get install python3-distutils

# get-Exécutez pip pour déployer pip
sudo python3 get-pip.py 

#Confirmez que pip est inclus
which pip
> /usr/local/bin/pip

pip -V
> pip 20.2.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

Installation de bibliothèques telles que Matplotlib

#J'ai pu le présenter d'un seul coup.
sudo pip install matplotlib

#Un module pour le tofu japonais est également inclus.
sudo pip install japanize-matplotlib

#Inclure également les pandas
sudo pip install pandas

#Comprend également seaborn
sudo pip install seaborn

Installer et lancer Jupyter Notebook

#Installation
sudo pip install jupyter

#Démarrer (* Le navigateur démarre automatiquement du côté chromeOS)
jupyter notebook

Redirection de port, etc. côté terminal et côté chromeOS Je me demandais si je devais le régler C'est facile et pratique car il semble être directement connecté! !!

Exemple de code à exécuter sur Jupyter Notebook

Créez un nouveau bloc-notes sur le navigateur lancé et Vous pouvez vérifier la communication en exécutant le code suivant.

code de vérification python


##Paramètres d'affichage des graphiques en ligne sur Jupyter
%matplotlib inline

####Déclarer l'utilisation des bibliothèques requises
##Bibliothèque de dessins graphiques
import matplotlib.pyplot as plt

##Bibliothèque de calcul arithmétique
import numpy as np

##Une bibliothèque qui prend en charge l'affichage de matplotlib en japonais
import japanize_matplotlib

####Courez ci-dessous
#Dessinez un graphique
x = np.arange(0, 20, 0.1)
y = np.cos(x)
#terrain
plt.plot(x,y)
#Donnez un nom d'étiquette
plt.xlabel('Graphique cosinus')
#afficher
plt.show()

Même si vous ne prenez pas la peine de lancer Jupyter sur votre Chromebook Il y a suffisamment de discussions pour que Colaboratory fonctionne Il y a un endroit où vous pouvez l'essayer légèrement localement C'est pourquoi c'est très pratique.


Utilisation de Docker

Installer Docker

Utilisez la procédure d'installation sur Debian sur le site officiel de Docker tel quel https://docs.docker.com/engine/install/debian/

Tout en vous référant au site officiel, appuyez sur "Ctrl + Maj (⇧) + V" Si vous copiez et collez la commande, c'est presque OK.

Désinstaller s'il existe une version plus ancienne

sudo apt-get remove docker docker-engine docker.io containerd runc

Installation de packages dépendants

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Ajout de la clé GPG officielle de Docker

Qu'est-ce que GPG? Que le programme d'installation soit authentique ou non. Le mécanisme de cryptage utilisé pour la vérification.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88

Ajout d'un référentiel stable pour Docker

Vérifiez les informations sur l'architecture du processeur et exécutez en vous référant à la procédure de x86_64.

lscpu
#Sortie ⇒ Architecture:        x86_64
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

Installation de Docker lui-même

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Confirmation et communication de l'installation

Confirmation de son installation

docker version
#Sortie ⇒
# Client: Docker Engine - Community
#  Version:           19.03.12
#  API version:       1.40
#  Go version:        go1.13.10
#  Git commit:        48a66213fe
#  Built:             Mon Jun 22 15:45:50 2020
#  OS/Arch:           linux/amd64
#  Experimental:      false

Exécution de la communication

Avec l'option --rm Puisqu'il peut être supprimé automatiquement lorsque le conteneur est fermé, Vous n'êtes pas obligé de stocker des conteneurs finis.

sudo docker run --rm hello-world
#production(partie) ⇒ 
# Hello from Docker!
# This message shows that your installation appears to be working correctly.

Utilisation de Docker-Compose

Installez Docker-Compose

De même, reportez-vous à la procédure d'installation de Linux sur le site officiel. https://docs.docker.com/compose/install/

Téléchargez la dernière version stable

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Accorder l'autorisation d'exécution

sudo chmod +x /usr/local/bin/docker-compose

Vérifiez la version installée

docker-compose --version
#Sortie ⇒ docker-compose version 1.27.1, build 1110ad01

Utilisation pratique de Docker-Compose: Utilisation de HackMD

Editeur Markdown utilisable en même temps: serveur HackMD Essayez de vous lever en un instant en utilisant Docker-Compose.

#git semble être inclus depuis le début
git clone https://github.com/hackmdio/docker-hackmd.git
cd docker-hackmd
#Commencez immédiatement
sudo docker-compose up
#Sortie ⇒ Si les informations suivantes apparaissent à la fin, elles peuvent être démarrées sur le port 3000.
# info: HTTP Server listening at port 3000

Accéder à HackMD

Lancez le navigateur Chrome et accédez aux éléments suivants. http://localhost:3000/

HackMD (éditeur Markdown simultané) dans l'environnement local du chromebook L'image Docker est désormais facile à lancer et à utiliser.

HackMD lui-même est un très bon outil d'édition pour Markdown, donc Il serait très utile de n'utiliser que cela normalement.

En passant, j'ai vu des informations selon lesquelles le conteneur n'est pas accessible sur localhost, Pour les Chromebooks mis à jour avec Chrome OS depuis janvier 2020, localhost est courant dans les environnements Chrome OS et Linux, Pour les conteneurs lancés dans un environnement Linux Il est accessible par "localhost: numéro de port".

Arrêtez HackMD

Vous pouvez arrêter le processus en cours avec "ctrl + c". Haz que vous ne pouvez plus accéder localhost: 3000.


Postscript, impressions, etc.

Le Chromebook était plus facile à utiliser que prévu!

Tout d'abord, le Chromebook est facile à manipuler, et il est recommandé qu'il soit "léger" à la fois en termes de démarrage et de physicalité. Il vaut mieux toucher une tablette / smartphone que de toucher un ordinateur Je pense qu'il y a peu de barrières psychologiques, mais on peut dire que c'est un ordinateur personnel qui est proche de ce sentiment.

Et il est également bon qu'une proportion considérable de logiciels puisse être utilisée comme tablette Android que prévu.

Étant donné que les données sont essentiellement stockées côté cloud, Il est également pratique qu'il y ait moins de temps et d'efforts pour la liaison de données en tant que sous-machine.

De plus, s'il devient un simple environnement de développement comme cet article, Ne ressentez-vous pas la perte d'avoir un Chromebook?

Je suis content d'avoir un environnement de développement très "léger"!

Opinion personnelle sur la concurrence des terminaux de type notebook comme environnement de développement

Même pour l'éducation, les terminaux bon marché pour Windows et les Chromebooks se répandent. Même si le premier environnement de programmation que votre enfant touche est Scratch, Je sens que l'environnement à toucher ensuite sera un environnement comme celui-ci.

Ces dernières années, l'environnement WLS2 a également été préparé pour Windows. Quel que soit le système d'exploitation tel que Windows, Mac, Chromebook Il est devenu possible de développer des environnements basés sur Linux. C'était un avantage de Mac dans le passé, Cela signifie que Windows et Chromebook sont durs.

L'apprentissage automatique basé sur le GPU est plutôt difficile sur Mac, On peut dire que Windows, qui peut être réalisé sur un PC de jeu, a fait un pas en avant comme indiqué ci-dessous.

Une histoire sur l'apprentissage automatique sur un PC de jeu et la comparaison de la différence de performances CPU / GPU avec Colabo [Édition définitive de la procédure de construction de l'environnement d'apprentissage automatique Windows. Compatible TF2.0]

Si vous souhaitez programmer, la tendance comme Mac peut changer un peu. (Bien que Mac ne soit pas mal non plus)

Bien sûr, la création de cet article est également Chromebook

Bien sûr, cet article lui-même n'est complété qu'avec Chromebook. (C'est naturel parce que je ne publie mon propre mémo que lorsque j'essaye) Si quelqu'un le trouve utile, je peux le mettre à jour à nouveau.

c'est tout.

Recommended Posts

Mettez Jupyter et Docker Compose dans votre Chromebook et utilisez-le comme un environnement de développement léger!
Créez un environnement LAMP sur votre Docker local
Mettez Linux dans Chromebook et utilisez R ...
Créez un environnement de développement Python sur votre Mac
Flutter dans Docker - Comment créer et utiliser un environnement de développement Flutter dans un conteneur Docker
Comment exécuter une application Django sur un conteneur Docker (environnement de développement et de production)
Utilisez Docker et Jupyter comme méthode de distribution d'environnement d'exécution pour l'analyse des données et les ateliers liés à la visualisation
Créer un environnement Docker qui peut utiliser PyTorch et JupyterLab
Création d'un environnement de développement Jupyter Lab sur WSL2 à l'aide d'Anaconda3
Création d'un environnement de développement Python sur Windows - De l'installation d'Anaconda à la liaison d'Atom et de Jupyter Notebook -
Comment utiliser Jupyter Notebook sans polluer votre environnement avec Docker
Utilisez Jupyter Notebook comme outil de test unitaire ou de création manuelle
[DynamoDB] [Docker] Créer un environnement de développement pour DynamoDB et Django avec docker-compose
Créer un environnement de développement à l'aide de Jupyter et Flask avec Python dans Docker (prend en charge à la fois VS Code / code-server)
Créez une application Django sur Docker et déployez-la sur AWS Fargate
Créez un environnement python sur votre Mac
Configurons un serveur WEB avec Chromebook
Utiliser WebDAV dans un environnement Docker portable
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Essai et erreur]
Créez un environnement PYNQ sur Ultra96 V2 et connectez-vous à Jupyter Notebook
Créer un environnement de développement TensorFlow sur Amazon EC2 avec une copie de commande
[Python] Créer un environnement de développement Django avec Docker
environnement de développement python -utilisation de pyenv et virtualenv-
Créer un environnement Kubernetes pour le développement sur Ubuntu
Configurer un environnement de développement Python sur Marvericks
Construire un environnement de développement Python sur Raspberry Pi
Utilisez un GPU gratuit dans votre environnement préféré
Préparez facilement un environnement Jupyter Notebook avec Docker (Tensorflow et Graphviz sont également disponibles)
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) à l'aide de VS Code + Remote Containers
Jusqu'à ce que vous créiez un environnement d'apprentissage automatique avec Python sur Windows 7 et que vous l'exécutiez
Mémo Un débutant a essayé de créer un environnement Java et de le traduire en japonais sur Ubuntu 18.04.2 LTS.