Erstellen Sie eine Python-Entwicklungsumgebung (pythonz, virtualenv, direnv).

Was du machen willst

Erstellen Sie eine Umgebung für die Entwicklung von Anwendungsprogrammen in Python.

Setzen Sie sich vorerst die Ziele wie folgt.

Traditionell wurde zu diesem Zweck pyenv-virtualenv verwendet.

pyenv-virtualenv ist praktisch, aber ich mochte es nicht, Befehlsargumente anzugeben, also diesmal pythonz, [virtualenv] ](Https://virtualenv.pypa.io/), direnv wird in Kombination verwendet. Die Verwendung von direnv hat auch den Vorteil, dass es für andere Umgebungen als Python nützlich ist.

Rolle jedes Werkzeugs

1. Installationsverfahren

1-0 Vorbereitung zur Einführung

Ich gehe von einer Linux-Umgebung aus, denke aber, dass das Verfahren für andere Betriebssysteme fast gleich ist. Ich benutze Debian 7 (Wheezy). Wenn Sie diese Methode unter Windows verwenden, wird empfohlen, eine virtuelle Umgebung mit vagrant zu erstellen. Als Voraussetzung wird angenommen, dass die folgenden Vorbereitungen getroffen werden.

Vorbereitungsbeispiel:


$ sudo apt-get install build-essential zlib1g-dev libbz2-dev libssl-dev libreadline-dev libncurses5-dev libsqlite3-dev libgdbm-dev libdb-dev libexpat-dev libpcap-dev liblzma-dev libpcre3-dev curl python-pip

$ sudo yum install zlib-devel bzip2-devel openssl-devel readline-devel ncurses-devel sqlite-devel gdbm-devel db4-devel expat-devel libpcap-devel xz-devel pcre-devel curl
$ curl -L https://bootstrap.pypa.io/get-pip.py | sudo python

1-1 Installation von Pythonz

Es gibt zwei Möglichkeiten, Python zu installieren:

  1. Installieren Sie als Benutzer mit Administratorrechten
  2. Installieren Sie als allgemeiner Benutzer

Installieren Sie hier mit den Berechtigungen eines allgemeinen Benutzers.


$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash
$ echo '[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc' >> $HOME/.bashrc
$ exec $SHELL

Auf diese Weise wird ein neues Python bei der Installation im Home-Verzeichnis jedes Benutzers installiert.

1-2 Installation von virtualenv

Es wird empfohlen, pip zu verwenden, um virtualenv zu installieren.


$ sudo pip install virtualenv

Wenn Sie pip nicht verwenden oder nicht als allgemeiner Benutzer installieren können, lesen Sie das Verfahren auf der offiziellen Website und installieren Sie es über den Quellcode. Es wäre besser, es zu tun.

1-3 direnv installieren

Ausführungsdateien werden für jedes Betriebssystem und jeden CPU-Typ auf der direkten offiziellen Github-Site verteilt. Laden Sie die entsprechende ausführbare Datei herunter und kopieren Sie sie in ein Verzeichnis in Ihrem PATH.


$ curl -L -o direnv https://github.com/zimbatm/direnv/releases/download/v2.5.0/direnv.linux-amd64
$ sudo install direnv /usr/local/bin
$ echo 'type direnv > /dev/null 2>&1 && eval "$(direnv hook bash)" ' >> $HOME/.bashrc
$ exec $SHELL

Hier wird es von einem Benutzer mit Administratorrechten installiert, es kann jedoch im Home-Verzeichnis des Benutzers installiert werden, solange es sich im PATH befindet.

Wenn Sie die Sprache Go verwenden können, ist die Installation über den Quellcode einfach.

2. Erstellen Sie eine Python-Entwicklungsumgebung

Lassen Sie uns üben, eine neue Entwicklungsumgebung zu erstellen, unter der Annahme eines "Projekts SandBox", das mit Python 2.7.9 entwickelt wird.

2-1 Installieren von Python 2.7.9

Überprüfen Sie die Version von Python, die mit pythonz list -a installiert werden kann, und geben Sie dann die zu installierende Version an. Bitte warten Sie geduldig, da die Installation einige Zeit dauern wird.


$ pythonz list -a 
# Available Python versions
  # cpython:
     2.4
     2.4.1
     2.4.2
     2.4.3
... 

$ pythonz install 2.7.9

Eine Liste der installierten Pythons finden Sie unter pythonz list.


$ pythonz list
# Installed Python versions
  CPython-2.7.9

Sie finden den Speicherort des installierten Python-Interpreters unter "Pythonz-Versionsnummer suchen".


$ pythonz locate 2.7.9
/home/jnotoya/.pythonz/pythons/CPython-2.7.9/bin/python

Wenn Sie das installierte Python direkt ausführen möchten, können Sie die Befehlsersetzungsfunktion der Shell verwenden und so etwas wie "$ (Python-Versionsnummer suchen)" schreiben.


$ $(pythonz locate 2.7.9) --version
Python 2.7.9
$ $(pythonz locate 2.7.9) -c 'print("Hello, world")'
Hello, world

2-2 Projektverzeichnis erstellen und einstellen

Erstellen Sie ein Verzeichnis, um das Projekt darin zu entwickeln. Sie können den Namen und den Speicherort des Projektverzeichnisses frei bestimmen. Erstellen Sie hier ein Projektverzeichnis mit dem Namen "sand_box" im Home-Verzeichnis des Benutzers.


$ pwd
/home/jnotoya
$ mkdir sand_box

Erstellen Sie nach dem Erstellen des Projektverzeichnisses die Verzeichniskonfigurationsdatei ".envrc". Die Konfigurationsdatei kann mit dem Befehl "direnv edit" erstellt und bearbeitet werden. Hier kann sie jedoch einfach über die Befehlszeile erstellt werden.


$ echo 'layout python $(pythonz locate 2.7.9)' > sand_box/.envrc
$ direnv allow sand_box

Verwenden Sie nach "Layout Python" die Pythonz-Funktion, um den Speicherort des Python-Interpreters anzugeben, z. B. "$ (Pythonz-Versionsnummer suchen)". Da .envrc an die Shell übergeben wird, können Sie die Befehlsersetzungsfunktion $ (...) der Shell verwenden.

Überprüfen Sie auf der direnv-Handbuchseite usw., wie die Einstellungsdatei geschrieben wird.

2-3 Initialisierung der Entwicklungsumgebung

Wenn Sie das von Ihnen erstellte Projektverzeichnis zum ersten Mal besuchen, wird virtualenv automatisch ausgeführt, um Ihre Entwicklungsumgebung zu initialisieren. Der Initialisierungsprozess kopiert den mit Pythonz installierten Python-Interpreter in das Projektverzeichnis.


$ cd sand_box
direnv: loading .envrc
Running virtualenv with interpreter /home/jnotoya/.pythonz/pythons/CPython-2.7.9/bin/python
New python executable in /home/jnotoya/sand_box/.direnv/python-2.7.9/bin/python
Installing setuptools, pip...direnv: ([direnv export bash]) is taking a while to execute. Use CTRL-C to give up.
done.
direnv: export +VIRTUAL_ENV ~PATH

Wenn Sie den Befehl python im Projektverzeichnis ausführen, wird der entsprechende Python-Interpreter ausgeführt, der während des Initialisierungsprozesses anstelle des ursprünglichen Python auf dem System kopiert wurde.


$ pwd
/home/jnotoya/sand_box
$ type python
python is /home/jnotoya/sand_box/.direnv/python-2.7.9/bin/python
$ python -c 'import sys;print(sys.version)'
2.7.9 (default, Jan 31 2015, 08:18:30) 
[GCC 4.7.2]

2-4 Installation der Bibliothek

Installieren Sie die vom Projekt verwendete Bibliothek mit dem Befehl pip. Wenn Sie pip im Projektverzeichnis ausführen, wird die Bibliothek nur zur Verwendung in dieser Umgebung im Projektverzeichnis installiert und wirkt sich nicht auf das gesamte System aus, sodass Sie die Bibliothek problemlos installieren können.

Versuchen Sie hier, die Bibliothek PrettyTable zu installieren.

$ pwd
/home/jnotoya/sand_box
$ pip install PrettyTable
$ python -c 'import prettytable as pt; help(pt.PrettyTable)'

2-5 Einstellung der Entwicklungsarbeit

Sie können Ihre Entwicklungsarbeit unterbrechen, indem Sie das Projektverzeichnis verlassen. Außerhalb des Projektverzeichnisses können Sie weiterhin den auf Ihrem System bereitgestellten Python-Interpreter verwenden.


$ pwd
/home/jnotoya/sand_box
$ cd ..
direnv: unloading
$ type python
python is /usr/bin/python
$ python --version
Python 2.7.3

2-6 Tägliche Arbeit

Dies ist sehr einfach, da Sie normalerweise Entwicklungsarbeiten ausführen können, ohne sich der Wechselumgebungen bewusst zu sein. Es ist nicht erforderlich, die Umgebung mit dem Workon zu wechseln und Befehle wie virtualenvwrapper zu deaktivieren. Wenn es nicht funktioniert, stellen Sie sicher, dass sich irgendwo in .bashrc eine Beschreibung wie die folgende befindet, die die Einstellungen von Pythonz und Direnv liest.

.bashrc


[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc
type direnv > /dev/null 2>&1 && eval "$(direnv hook bash)" 

Wenn Sie das Projektverzeichnis nach der Initialisierung umbenennen, müssen Sie einige Anpassungen vornehmen. Bitte seien Sie vorsichtig.

Recommended Posts

Erstellen Sie eine Python-Entwicklungsumgebung (pythonz, virtualenv, direnv).
Erstellen Sie mit direnv eine Python-Umgebung
[ev3dev × Python] Aufbau einer ev3dev-Entwicklungsumgebung
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Bereinigen Sie die Python-Umgebung mit Pythonz und virtualenv
Aufbau einer Python-Entwicklungsumgebung
Informationen zur Python-Entwicklungsumgebung
python2.7 Konstruktion der Entwicklungsumgebung
Entwicklungsumgebung in Python
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Erstellen Sie eine Python-Entwicklungsumgebung auf Raspberry Pi
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Verwalten Sie die Python-Umgebung mit virtualenv
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)
Erstellen Sie eine Python-Umgebung unter Windows
Organisieren Sie die Python-Entwicklungsumgebung
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie eine Python-Umgebung mit Windows
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
[Zum Organisieren] Python-Entwicklungsumgebung
Erstellen Sie die Python-Umgebung offline
Python-Memo (für mich): Über die Entwicklungsumgebung virtualenv
Erstellen Sie eine Ubuntu-Python-Entwicklungsumgebung auf der Google Cloud Platform
Erstellen Sie eine Python-Entwicklungsumgebung mit Eclipse (fügen Sie einen HTML-Editor hinzu).
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (2) Grundeinstellungen
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
UpNext2 Development Record # 1 Erstellen Sie eine Python CI-Umgebung in VS Code
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Bereiten Sie Ihre erste Python-Entwicklungsumgebung vor
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Optionen für die Python-Entwicklungsumgebung für Mai 2020
Aufbau einer Python-Entwicklungsumgebung unter macOS
Memo zum Einstellen der Vim + Python-Entwicklungsumgebung
Emacs-Einstellungen für die Python-Entwicklungsumgebung
Konstruktionsnotiz für die Emacs Python-Entwicklungsumgebung
Überprüfen der NAOqi Python-Entwicklungsumgebung
Erstellen Sie die Python 3.8 + Pipenv-Umgebung unter Ubuntu 18.04
Erstellen Sie eine Python3-Umgebung unter CentOS7
Richten Sie mit Atom eine Python-Entwicklungsumgebung ein
Erstellen Sie mit dem Serverless Framework eine lokale Entwicklungsumgebung für Lambda + Python
Versuchen Sie es mit virtualenv, mit dem eine virtuelle Umgebung von Python erstellt werden kann
So erstellen Sie eine Python-Umgebung mit Virtualenv unter Ubuntu 18.04 LTS
Erstellen Sie Python 1.0
Konstruktionsverfahren für die Python (Anaconda) -Entwicklungsumgebung (SpringToolsSuites) _2020.4
Python-Entwicklungsumgebung für macOS mit venv 2016
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
[Entwicklungsumgebung] Python mit Xcode [Mit Bildschirmübergang]
Build-Umgebung für Python 2.7, 3.4, 3.5-Erweiterungsmodule unter Windows
Methode zum Erstellen einer Python-Umgebung in Xcode 6
Blender 2.82 oder höher + Hinweise zur Python-Entwicklungsumgebung
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Ich möchte eine Python-Umgebung erstellen