Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen

Einführung

Dieser Artikel ist der 17. Tagesartikel von Hamee Adventskalender 2015.

Ich habe die Schritte zum Erstellen einer Python-Entwicklungsumgebung mit Pythonz und Direnv auf dem Mac zusammengefasst, hauptsächlich als Arbeitsnotiz für mich.

Hier konfigurieren wir als Beispiel das Verzeichnis "~ / dev / myproject", um die Version "3.5.0" von "Python" zu verwenden. Da hier das Verfahren zum Erstellen der Umgebung mit "bash" erläutert wird, ersetzen Sie es gegebenenfalls durch die von Ihnen verwendete Shell.

Was ist Pythonz?

Ein Tool, mit dem Sie verschiedene Versionen von Python in Ihrem Home-Verzeichnis installieren können. Weitere Informationen finden Sie unter hier.

Was ist direnv?

Es ist ein Tool zum Wechseln der Umgebung für jedes Verzeichnis. Weitere Informationen finden Sie unter hier.

Vorbereitung

Es sind einige Tools und Bibliotheken erforderlich, um pythonz und direnv zu verwenden. Bitte installieren Sie Folgendes im Voraus.

Befehlszeilen-Tool

Sie benötigen ein Befehlszeilenprogramm, um "Pythonz" zu verwenden.

$ xcode-select --install

Bitte führen Sie aus und wählen Sie [Installieren], um es zu installieren.

homebrew

Da wir homebrew verwenden, um direnv zu installieren,

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew installieren.

virtualenv

Weil Sie ein Python-Modul namens virtualenv benötigen, um direnv auszuführen

$ sudo pip install virtualenv

So installieren Sie "virtualenv". Wenn pip nicht verfügbar ist, zuerst

$ sudo easy_install pip

Bitte laufen, um pip zu installieren.

Installation von pythonz und direnv

Pythonz installieren

$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

So installieren Sie python z. (Es wird in ~ / .pythonz installiert.)

Führen Sie als nächstes den folgenden Befehl aus, um die erforderlichen Einstellungen zu ~ / .bashrc hinzuzufügen.

$ echo '[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc' >> ~/.bashrc

Direnv installieren

Installieren Sie direnv mit homebrew. Führen Sie den folgenden Befehl aus, um direnv zu installieren.

$ brew install direnv

Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um "hook" zu "~ / .bashrc" hinzuzufügen. (Wenn Sie eine andere Shell als "bash" verwenden, lesen Sie diese bitte entsprechend.)

$ echo 'export EDITOR={Editor zu verwenden}' >> ~/.bashrc
$ echo 'eval "$(direnv hook bash)"' >> ~/.bashrc

Um diese Einstellungen zu aktivieren

$ source ~/.bashrc

Bitte führen Sie die. Auch wenn es eine Datei namens "~ / .bash_profile" gibt Wenn nicht, erstellen Sie ein ~ / .bash_profile mit dem folgenden Inhalt.

~/.bash_profile


if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

Umgebung

Installieren Sie eine beliebige Version von Python mit pythonz

$ pythonz list --all

Bei der Ausführung wird eine Liste der Python-Versionen angezeigt, die mit Pythonz installiert werden können.

# Available Python versions
  # cpython:
     3.1.3
     3.1.2
     3.1.5
     3.1.4
     2.4.3
...

So installieren Sie eine beliebige Version von Python

$ pythonz install {Die Version, die Sie installieren möchten}

Bitte führen Sie die. So installieren Sie Python der Version 3.5.0

$ pythonz install 3.5.0

Ausführen. (Installiert auf ~ / .pythonz / pythons / CPython-3.5.0.)

Die Versionsliste von Python, die mit pythonz installiert wurde, ist übrigens

$ pythonz list

Sie können dies durch Ausführen überprüfen. (Es wird wie folgt angezeigt.)

# Installed Python versions
  CPython-3.5.0

Für andere Zwecke

$ pythonz help

Bitte laufen und überprüfen.

Umgebungsvariablen mit direnv einstellen

Führen Sie zunächst den folgenden Befehl aus.

$ direnv edit ~/dev/myproject

Anschließend wird der durch export EDITOR = {zu verwendender Editor}} angegebene Editor gestartet. Schreiben Sie daher die Einstellungen für die Umgebungsvariablen. Um Python der Version 3.5.0 zu verwenden, die zuvor in diesem Verzeichnis mit python zinstalliert wurde, beschreiben Sie bitte die folgenden Einstellungen. (Diese Einstellung wird in~ / dev / myproject / .envrc` gespeichert.)

~/dev/myproject/.envrc


layout python $(pythonz locate 3.5.0)

Wechseln Sie nach Abschluss der Einstellungen in das Verzeichnis ~ / dev / myproject. Dann denke ich, dass die Umgebung initialisiert wird. Wenn nicht initialisiert

direnv: error .envrc is blocked. Run `direnv allow` to approve its content.

Wenn eine solche Nachricht ausgegeben wird

$ direnv allow

Ich denke, dass es durch Ausführen initialisiert wird.

Damit sind die Einstellungen für die Verwendung von Python der Version 3.5.0 in ~ / dev / myproject abgeschlossen. Von nun an können Sie die Version Python der Version 3.5.0 verwenden, indem Sie in dieses Verzeichnis wechseln.

Überprüfen Sie die Version von Python, die für jedes Verzeichnis verwendet wird

Mal sehen, ob Sie Version 3.5.0 von Python wirklich mit ~ / dev / myproject verwenden können.

Zuerst im aktuellen Verzeichnis (~ / dev / myproject)

$ python --version

Ausführen. Dann

Python 3.5.0

Wird Angezeigt werden. Wechseln Sie dann in ein anderes Verzeichnis, um festzustellen, ob diese Einstellung nur im aktuellen Verzeichnis gültig ist

$ python --version

Ich werde versuchen, auszuführen. Nächstes Mal

Python 2.7.10

Wird angezeigt und Sie können bestätigen, dass die Version Python der Version 3.5.0 nicht in anderen Verzeichnissen als ~ / dev / myproject verwendet wird (das System Python wird verwendet). Ich werde.

Zusammenfassung

Mit pythonz und direnv habe ich das Einstellungsverfahren für die Verwendung von Python einer beliebigen Version (3.5.0) in einem beliebigen Verzeichnis ( ~ / dev / myproject) zusammengefasst. ..

Ich schreibe zum ersten Mal einen Artikel wie diesen, daher denke ich, dass es viele Punkte gab, die ich nicht erreichen konnte. Ich hoffe jedoch, dass dieser Artikel anderen als mir selbst hilft, wenn er dazu beiträgt, die Anzahl der Python-Benutzer im Unternehmen zu erhöhen.

Recommended Posts

Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Ich möchte eine Python-Umgebung erstellen
Erstellen Sie eine Python-Entwicklungsumgebung (pythonz, virtualenv, direnv).
Ich habe versucht, mit Python (Mac OS X) eine Umgebung für maschinelles Lernen zu erstellen.
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Ich möchte eine GUI-Entwicklungsumgebung mit Python oder Golang auf dem Mac einrichten
Erstellen Sie mit direnv eine Python-Umgebung
Ich möchte einfach eine modellbasierte Entwicklungsumgebung erstellen
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
[Go + Gin] Ich habe versucht, eine Docker-Umgebung zu erstellen
So erstellen Sie eine Entwicklungsumgebung für TensorFlow (1.0.0) (Mac)
Ich möchte eine schöne Python-Entwicklungsumgebung für meinen neuen Mac erstellen
Als ich versuchte, mit Python eine virtuelle Umgebung zu erstellen, funktionierte dies nicht
Ich habe versucht, eine Umgebung mit WSL + Ubuntu + VS-Code in einer Windows-Umgebung zu erstellen
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
So bereiten Sie die Python-Entwicklungsumgebung vor [Mac]
Ich habe eine funktionale Sprache mit Python ausprobiert
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie mit Neovim eine moderne Python-Umgebung
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe ein Skript geschrieben, um mit AWS Lambda + Python 2.7 schnell eine Entwicklungsumgebung für Twitter Bot zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / ESPCN zu erstellen
Erstellen Sie eine Entwicklungsumgebung für die C-Sprache mit einem Container
Verwenden Sie nach dem Kauf eines neuen Mac Pyenv + Poetry, um eine Python-Umgebung zu erstellen.
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Erstellen einer Python-Umgebung mit virtualenv und direnv
[AWS] Flask-Anwendungsbereitstellungsversion, die versucht hat, eine Python-Umgebung mit eb zu erstellen [Elastic Beanstalk]
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Ich war süchtig danach, eine Python-Venv-Umgebung mit VS Code zu erstellen
Ich möchte ein Spiel mit Python machen
Erstellen Sie eine Python-Umgebung auf einem Mac (Mountain Lion)
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Erstellen Sie mit der Doker Toolbox eine Django-Entwicklungsumgebung
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Ich möchte mit Python in eine Datei schreiben
[Hinweis] So erstellen Sie eine Mac-Entwicklungsumgebung