[Detaillierte Version] Erstellen einer komfortablen Python-Umgebung mit Google Compute Engine (Ubuntu 16.04)

Überblick

In diesem Artikel erstellen wir eine Python-Umgebung unter Ubuntu von GCE. (Bitte stellen Sie vim selbst ein.) Die spezifischen Dinge, die zu tun sind, sind wie folgt.

Grundeinstellung

Im Ausgangszustand wird das Dienstkonto intern verwendet. Es ist sehr problematisch, daher wird empfohlen, sich mit Ihrem eigenen Benutzerkonto anzumelden.

gcloud init

Sie werden unterschiedlich gefragt, authentifizieren Sie sich also wie angegeben und fügen Sie den Bestätigungscode ein.

Einführung von zsh

Installieren Sie zuerst zsh.

sudo apt-get install zsh -y

Danach möchte ich die Standard-Shell auf zsh setzen, aber der Befehl chsh funktioniert nicht, da ich das Passwort nicht kenne. (Bitte sag mir, ob es einen Weg gibt) aus diesem Grund,

vim ~/.bashrc

Öffnen Sie bashrc mit etc. und am Ende

exec /usr/bin/zsh

Wird eingefügt. Die Standard-Shell ist jetzt zsh.

Oh-my-zsh einfügen

Als nächstes fügen Sie oh-my-zsh ein. (Ich denke, dass jede Person etwas Besonderes ist. Wenn Sie sich etwas Besonderes wünschen, fahren Sie mit [Python-Umgebung erstellen](## Python-Umgebung erstellen) fort.)

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

Sie werden gefragt, ob Sie die Standard-Shell ändern möchten, aber Sie sollten sie natürlich auf "Nein" setzen.

Fügen Sie Folgendes als externes Plug-In ein.

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

Lassen Sie uns hier zshrc ändern.

~/.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

Laden Sie es nach der Bearbeitung einmal.

source ~/.zshrc

Erstellen einer Python-Umgebung

Wir werden eine gemeinsame virtuelle Umgebung mit pyenv und virualenv erstellen. Installieren Sie zuerst pyenv und 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

Installieren Sie Ihre Lieblingsversion von Python. Zum Beispiel so.

pyenv install 3.6.5
pyenv virtualenv 3.6.5 default_env
pyenv global default_env

Installieren Sie die Powerline-Shell

Wenn Sie diesbezüglich besonders sind, überspringen Sie es bitte. Fügen Sie zunächst die Powerline-Shell in die aktuelle virtuelle Umgebung ein.

pip install powerline-shell

Bearbeiten Sie danach zshrc erneut wie folgt.

~/.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

#----------------------Das Folgende ist eine private Einstellung, also lassen Sie es bitte weg.----------------------#
#Spezifikation der Verlaufsdatei
HISTFILE=$HOME/.zsh-history
HISTSIZE=1000
SAVEHIST=10000

#CD wenn kein Befehl
setopt auto_cd
#Listen Sie die Abschlusskandidaten auf
setopt auto_list
#Wechseln Sie die Abschlusskandidaten in der Reihenfolge mit TAB
setopt auto_menu
#Ergänzt automatisch Klammern
setopt auto_param_keys
#Am Ende der Vervollständigung des Verzeichnisnamens/Wird automatisch hinzugefügt, um den nächsten Abschluss vorzubereiten
setopt auto_param_slash
#Korrigieren Sie, wenn ein Befehlsfehler gemacht wird
setopt correct
#Markieren Sie den Dateityp in der Liste der Abschlusskandidaten
setopt list_types
#Ohne Angabe eines klaren Punktes.Ordnen Sie Dateien zu, die mit beginnen
setopt globdots
#Wenn das Verzeichnis durch Erweitern des Dateinamens am Ende übereinstimmt/Hinzufügen
setopt mark_dirs
#Komplement an der Cursorposition auch mitten in einem Wort
setopt complete_in_word
#Die Dateinamenliste wird an Ort und Stelle angezeigt, während Sie die Cursorposition gedrückt halten.
setopt always_last_prompt
#Klingeln Sie nicht
setopt nobeep
#vcs aktiviert
setopt prompt_subst
# #Behandle Folgendes als Kommentare
setopt interactive_comments
#Teilen der Geschichte
setopt share_history
#Wenn der dem Verlauf hinzugefügte Befehl mit dem alten identisch ist, löschen Sie den alten
setopt hist_ignore_all_dups

Weiter anpassen.

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

Erstellen Sie die folgenden zwei Dateien.

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"
}

** Achtung **

  • Wenn es in der virtuellen Umgebung keine Powerline-Shell gibt, ist dies seltsam. Führen Sie daher jedes Mal eine "Pip-Installation" durch.
  • Wenn die Zeichen verstümmelt sind, lesen Sie bitte Folgendes und fügen Sie die Schriftart ein. (Ich benutze Roboto Mono für Powerline)
    • https://github.com/powerline/fonts

Jupyter Notebook-Einstellungen

Wenn es so bleibt, wie es ist, kann Jupyter nicht verwendet werden. Stellen Sie es also ein. Sie können Jupyter verwenden, indem Sie die ** Jupyter-Einstellungen ** auf der folgenden Site befolgen. Referenz: https://rf00.hatenablog.com/entry/2018/01/01/160820

*** Wenn ssh ausgeht, wird Jupyter gelöscht. Es wird daher empfohlen, tmux einzurichten und Jupyter darin zu verwenden. ** ** **

Installieren Sie den Stack Driver Monitoring Agent

Wir empfehlen Stack Driver Monitoring Agent für die Überwachung von GCE-Ressourcen. Wenn Sie es eingeben, können Sie die detaillierte Speichernutzung usw. auf der Registerkarte "Agent" neben der Registerkarte "HOST" oben rechts unter hier Überprüfen. (Bitte beachten Sie jedoch, dass Sie separat berechnet werden.)

Installation gemäß Official. Standardmäßig werden Daten alle 1 Minute gesendet. Da ich jedoch über den berechneten Betrag besorgt bin, werde ich ihn so ändern, dass alle 3 Minuten Daten gesendet werden.

sudo vim /etc/stackdriver/collectd.conf

/etc/stackdriver/collectd.conf


Interval 180  #Geändert von Intervall 60

#Keine Änderung unten
sudo service stackdriver-agent restart

Recommended Posts

[Detaillierte Version] Erstellen einer komfortablen Python-Umgebung mit Google Compute Engine (Ubuntu 16.04)
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04
Erstellen Sie eine Python-Ausführungsumgebung mithilfe der GPU mit der GCP Compute Engine
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Laufzeitversion der Google App Engine / Python-Standardumgebung
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Starten einer maschinellen Lernumgebung mit Google Compute Engine (GCE)
Erstellen einer Python-Umgebung unter Ubuntu
Erstellen einer virtuellen Umgebung mit Python 3
Erstellen einer Entwicklungsumgebung mit Maven in Google App Engine [Java]
Erstellen Sie ein USB-Boot-Ubuntu mit einer Python-Umgebung für die Datenanalyse
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
Erstellen einer einfachen Power-Datei mit Python
Hinweise beim Erstellen einer Umgebung mit Python
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie mit Neovim eine moderne Python-Umgebung
Ich war süchtig danach, eine Python-Venv-Umgebung mit VS Code zu erstellen
Erstellen einer Python-Umgebung mit virtualenv und direnv
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Vorgehensweise zum Erstellen eines mit Python erstellten LineBot
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Verwalten Sie die Python-Umgebung mit mehreren Versionen mit Pythonz, virtualenv
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
[Venv] Erstellen Sie eine virtuelle Python-Umgebung unter Ubuntu
Erstellen Sie eine Python3 + -Kolbenumgebung auf der Compute Engine von GCP
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Ablauf beim Erstellen einer virtuellen Umgebung mit Anaconda
Verfahren zum Erstellen einer Python-Isolationsumgebung (venv-Umgebung)
Erstellen einer Python-Umgebung mit OSX Elcapitan
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Hinweise zum Erstellen einer Python-Umgebung durch Anfänger
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Holen Sie sich mit Poetry eine schnelle Python-Entwicklungsumgebung
Python: Erstellen einer virtuellen Umgebung (venv), Starten und Stoppen
Empfehlung zum Erstellen einer tragbaren Python-Umgebung mit conda
# 2 Erstellen Sie eine Python-Umgebung mit einer EC2-Instanz von AWS (ubuntu18.04).
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Memo zum Erstellen einer Python-Entwicklungsumgebung mit macOS Catalina
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Erstellen Sie eine komfortable Python 3 (Anaconda) -Entwicklungsumgebung mit Windows
Erstellen Sie eine Python-Entwicklungsumgebung mit Vagrant + Ansible + Fabric
Stellen Sie die Django-Anwendung in Google App Engine (Python3) bereit.
Probleme beim Erstellen eines CSV-JSON-Konvertierungstools mit Python
Konstruktionsverfahren für die Google App Engine / Python-Entwicklungsumgebung (Ende 2014)
PIL in Python unter Windows8 (für Google App Engine)
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erste Schritte mit Google App Engine für Python und PHP