[Version détaillée] Créer un environnement Python confortable avec Google Compute Engine (Ubuntu 16.04)

Aperçu

Dans cet article, nous allons créer un environnement Python sur Ubuntu de GCE. (Veuillez définir vim par vous-même.) Les choses spécifiques à faire sont les suivantes.

Réglage initial

Dans l'état initial, le compte de service est utilisé en interne. Cela pose beaucoup de problèmes, il est donc recommandé de vous connecter avec votre propre compte utilisateur.

gcloud init

Il vous sera demandé de différentes manières, alors authentifiez-vous comme on vous l'a dit et collez le code de vérification.

Introduction de zsh

Tout d'abord, installez zsh.

sudo apt-get install zsh -y

Après cela, je veux définir le shell par défaut sur zsh, mais la commande chsh ne fonctionne pas car je ne connais pas le mot de passe. (S'il vous plaît dites-moi s'il y a un moyen) pour cette raison,

vim ~/.bashrc

Ouvrez bashrc avec etc. et à la fin

exec /usr/bin/zsh

Est inséré. Le shell par défaut est maintenant zsh.

Insérer oh-my-zsh

Ensuite, insérez oh-my-zsh. (Je pense que chaque personne est particulière à ce sujet, donc si vous êtes particulier à ce sujet, passez à [Construire un environnement Python](## Construire un environnement Python).)

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

On vous demandera si vous voulez changer le shell par défaut, mais bien sûr, vous devez le définir sur «no».

Insérez ce qui suit en tant que plug-in externe.

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions

Changeons zshrc ici.

~/.zshrc


export ZSH="${HOME}/.oh-my-zsh"
ZSH_THEME="candy"
plugins=(
  git pip pyenv virtualenv zsh-syntax-highlighting zsh-autosuggestions history-substring-search zsh-completions
)
source $ZSH/oh-my-zsh.sh

Après l'édition, chargez-le une fois.

source ~/.zshrc

Construire un environnement Python

Nous allons créer un environnement virtuel commun en utilisant pyenv et virualenv. Tout d'abord, installez pyenv et virtualenv.

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshenv
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshenv
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshenv
source ~/.zshenv
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshenv
source ~/.zshenv

Installez votre version préférée de Python. Par exemple, comme ça.

pyenv install 3.6.5
pyenv virtualenv 3.6.5 default_env
pyenv global default_env

Installez Powerline-Shell

Si vous êtes particulier à ce sujet, veuillez l'ignorer. Tout d'abord, mettez powerline-shell dans l'environnement virtuel actuel.

pip install powerline-shell

Après cela, modifiez à nouveau zshrc comme suit.

~/.zshrc


export ZSH="${HOME}/.oh-my-zsh"
ZSH_THEME="candy"

function powerline_precmd() {
    PS1="$(powerline-shell --shell zsh $?)"
}
function install_powerline_precmd() {
  for s in "${precmd_functions[@]}"; do
    if [ "$s" = "powerline_precmd" ]; then
      return
    fi
  done
  precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
    install_powerline_precmd
fi

plugins=(
  git pip pyenv virtualenv zsh-syntax-highlighting zsh-autosuggestions history-substring-search zsh-completions
)
source $ZSH/oh-my-zsh.sh

export LC_ALL="en_US.UTF-8"
export LANG=ja_JP.UTF-8

#----------------------Ce qui suit est un paramètre privé, veuillez donc l'omettre.----------------------#
#spécification du fichier historique
HISTFILE=$HOME/.zsh-history
HISTSIZE=1000
SAVEHIST=10000

#Cd sinon une commande
setopt auto_cd
#Liste des candidats à l'achèvement
setopt auto_list
#Changer les candidats d'achèvement dans l'ordre avec TAB
setopt auto_menu
#Complète automatiquement les parenthèses
setopt auto_param_keys
#À la fin de l'achèvement du nom du répertoire/Est automatiquement ajouté pour préparer la prochaine exécution
setopt auto_param_slash
#Correct lorsqu'une erreur de commande est commise
setopt correct
#Marquer le type de fichier dans la liste des candidats à l'achèvement
setopt list_types
#Sans spécifier de point clair.Faire correspondre les fichiers commençant par
setopt globdots
#Si le répertoire correspond en développant le nom du fichier, à la fin/Ajouter
setopt mark_dirs
#Complément à la position du curseur même au milieu d'un mot
setopt complete_in_word
#La liste des noms de fichiers est affichée sur place tout en maintenant la position du curseur.
setopt always_last_prompt
#Ne sonnez pas le bip
setopt nobeep
#vcs activé
setopt prompt_subst
# #Traitez ce qui suit comme des commentaires
setopt interactive_comments
#Partage d'histoire
setopt share_history
#Si la commande ajoutée à l'historique est la même que l'ancienne, supprimez l'ancienne
setopt hist_ignore_all_dups

Personnalisez davantage.

mkdir -p ~/.config/powerline-shell && powerline-shell --generate-config > 

Créez les deux fichiers suivants.

python:~/.config/powerline-shell/original_color.py


from powerline_shell.themes.default import DefaultColor
​
​
class Color(DefaultColor):
    USERNAME_FG = 15
    USERNAME_BG = 4
    USERNAME_ROOT_BG = 1
​
    HOSTNAME_FG = 15
    HOSTNAME_BG = 10
​
    HOME_SPECIAL_DISPLAY = False
    PATH_FG = 15
    PATH_BG = 70
    CWD_FG = 231
    SEPARATOR_FG = 0
​
    READONLY_BG = 1
    READONLY_FG = 7
​
    REPO_CLEAN_FG = 14
    REPO_CLEAN_BG = 0
    REPO_DIRTY_FG = 3
    REPO_DIRTY_BG = 0
​
    JOBS_FG = 4
    JOBS_BG = 8
​
    CMD_PASSED_FG = 255
    CMD_PASSED_BG = 136
    CMD_FAILED_FG = 255
    CMD_FAILED_BG = 1
​
    SVN_CHANGES_FG = REPO_DIRTY_FG
    SVN_CHANGES_BG = REPO_DIRTY_BG
​
    VIRTUAL_ENV_BG = 31
    VIRTUAL_ENV_FG = 231
​
    AWS_PROFILE_FG = 7
    AWS_PROFILE_BG = 2
​
    TIME_FG = 255
    TIME_BG = 246

python:~/.config/powerline-shell/config.json


{
    "segments": [
        "virtual_env",
        "aws_profile",
        "ssh",
        "cwd",
        "git",
        "git_stash",
        "jobs",
        "read_only",
        "newline",
        "set_term_title",
        "svn",
        "time",
        "exit_code"
    ],
    "cwd": {
        "max_depth": 4,
        "max_dir_size": 10,
        "full_cwd": 1
    },
    "mode": "patched",
    "theme": "~/.config/powerline-shell/original_color.py"
}

** Attention **

  • S'il n'y a pas de powerline-shell dans l'environnement virtuel, ce sera étrange, alors veuillez faire pip install à chaque fois.
  • Si les caractères sont déformés, veuillez vous référer à ce qui suit et insérer la police. (J'utilise Roboto Mono pour Powerline)
    • https://github.com/powerline/fonts

Paramètres de Jupyter Notebook

S'il est laissé tel quel, Jupyter ne peut pas être utilisé, alors définissez-le. Vous pouvez utiliser Jupyter en suivant ** jupyter settings ** sur le site suivant. Référence: https://rf00.hatenablog.com/entry/2018/01/01/160820

*** Si ssh est épuisé, Jupyter tombera, il est donc recommandé de configurer tmux et d'utiliser Jupyter dedans. ** **

Installer l'agent de surveillance de pilote de pile

Nous vous recommandons Stack Driver Monitoring Agent pour la surveillance des ressources GCE. Si vous le mettez, vous pouvez vérifier l'utilisation détaillée de la mémoire, etc. à partir de l'onglet Agent à côté de l'onglet HOST en haut à droite de ici. (Cependant, veuillez noter que vous serez facturé séparément)

Installez selon Officiel. Par défaut, les données sont envoyées toutes les 1 minute, mais comme je suis préoccupé par le montant facturé, je les modifierai pour envoyer des données toutes les 3 minutes.

sudo vim /etc/stackdriver/collectd.conf

/etc/stackdriver/collectd.conf


Interval 180  #Changé de l'intervalle 60

#Aucun changement ci-dessous
sudo service stackdriver-agent restart

Recommended Posts

[Version détaillée] Créer un environnement Python confortable avec Google Compute Engine (Ubuntu 16.04)
[Pyenv] Construire un environnement python avec ubuntu 16.04
Créez un environnement d'exécution Python à l'aide de GPU avec GCP Compute Engine
Un mémo lors de la création d'un environnement python avec miniconda
Commandes pour créer un environnement python3 avec virtualenv
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
Version d'exécution de l'environnement standard Google App Engine / Python
Créer un environnement python3 avec ubuntu 16.04
Lancement d'un environnement d'apprentissage automatique à l'aide de Google Compute Engine (GCE)
Construire un environnement Python sur Ubuntu
Créer un environnement virtuel avec Python 3
Création d'un environnement de développement avec Maven sur Google App Engine [Java]
Créer un Ubuntu de démarrage USB avec un environnement Python pour l'analyse des données
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Créer un fichier power simple avec Python
Remarques lors de la création d'un environnement avec python
[Python] Créez un environnement virtuel avec Anaconda
Création d'un environnement Python 3.6 avec Windows + PowerShell
Créez un environnement virtuel pour python avec pyenv
Créez un environnement Python moderne avec Neovim
J'étais accro à la création d'un environnement Python venv avec VS Code
Construire un environnement python avec virtualenv et direnv
Créez un environnement python avec ansible sur centos6
Procédure de création d'un LineBot réalisé avec Python
Créer un environnement virtuel avec conda avec Python
Gérez l'environnement de plusieurs versions de Python avec Pythonz, virtualenv
[Python] Créer un environnement de développement Django avec Docker
Créer un environnement de construction python3 avec Sublime Text3
[Venv] Créer un environnement virtuel python sur Ubuntu
Créez un environnement Flask Python3 + sur Compute Engine de GCP
Travaillez dans un environnement virtuel avec Python virtualenv.
Flux de création d'un environnement virtuel avec Anaconda
Procédure de création d'un environnement d'isolation Python (environnement venv)
Construire un environnement Python avec OSX Elcapitan
Créez rapidement un environnement Python Django avec IntelliJ
Notes sur la création d'un environnement python par les débutants
Créer un environnement d'apprentissage automatique Python avec des conteneurs
Créer un environnement d'exécution python avec VS Code
Obtenez un environnement de développement Python rapide avec Poetry
[AWS] J'ai essayé de créer un environnement Python avec un environnement de développement eb [Elastic Beanstalk]
Python: création d'un environnement virtuel (venv), démarrage et arrêt
Recommandation de construction d'un environnement Python portable avec conda
# 2 Créez un environnement Python avec une instance EC2 d'AWS (ubuntu18.04)
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Un mémo pour créer un environnement de développement python avec macOS Catalina
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Créez un environnement de développement Python 3 (Anaconda) confortable avec Windows
Créez un environnement de développement python avec vagrant + ansible + fabric
Déployer l'application Django sur Google App Engine (Python3)
Problèmes lors de la création d'un outil de conversion csv-json avec python
Procédure de construction de l'environnement de développement Google App Engine / Python (fin 2014)
PIL en Python sur Windows8 (pour Google App Engine)
Créer un environnement de développement d'applications d'apprentissage automatique avec Python
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Premiers pas avec Google App Engine pour Python et PHP