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.
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.
$ 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
Es gibt zwei Möglichkeiten, Python zu installieren:
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.
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.
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.
Lassen Sie uns üben, eine neue Entwicklungsumgebung zu erstellen, unter der Annahme eines "Projekts SandBox", das mit Python 2.7.9 entwickelt wird.
Ü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
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.
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]
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)'
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
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.