Da ich mich entschied, eine Anwendung mit Python zu erstellen, dachte ich, dass die Python 2.x-Serie, die standardmäßig im Betriebssystem enthalten ist, in Ordnung wäre, aber Welche von Python 2 oder Python 3 sollte ich für die Entwicklung verwenden? besagt, dass Python3.x bereits stabil ist, sodass Sie Python3.x systemweit mit pyenv verwenden können. Ich habe versucht, eine Umgebung aufzubauen.
Zuerst dachte ich, es wäre in Ordnung, nur pyenv zu verwalten, aber die Installation jedes Pythons nimmt viel Zeit in Anspruch und es scheint nicht möglich zu sein, die Umgebung einfach zu löschen und neu zu erstellen. Deshalb habe ich auch virtualenv eingeführt.
Installation von Paketen erforderlich beim Kompilieren von Python.
CentOS
$ sudo yum install gcc bzip2 bzip2-devel openssl openssl-devel readline readline-devel
Ubuntu
$ sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
Hol es dir von Github.
$ cd /usr/local/
$ sudo git clone git://github.com/yyuu/pyenv.git ./pyenv
$ sudo mkdir -p ./pyenv/versions ./pyenv/shims
Ich möchte für jede Version mit virtualenv eine separate Umgebung vorbereiten. Installieren Sie daher das Plugin pyenv-virtualenv.
$ cd /usr/local/pyenv/plugins/
$ sudo git clone git://github.com/yyuu/pyenv-virtualenv.git
Erstellen Sie / etc / profile.d / pyenv.sh
.
$ echo 'export PYENV_ROOT="/usr/local/pyenv"' | sudo tee -a /etc/profile.d/pyenv.sh
$ echo 'export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"' | sudo tee -a /etc/profile.d/pyenv.sh
$ source /etc/profile.d/pyenv.sh #Einstellungen widerspiegeln
$ pyenv --version
pyenv 20141211-6-g995da2d
$
Da ich PATH und PYENV_ROOT zum Zeitpunkt von sudo erben möchte, bearbeiten Sie wie folgt mit visudo wie So erben Sie PATH bei sudo.
#Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults env_keep += "PATH"
Defaults env_keep += "PYENV_ROOT"
Soweit ich die Hilfe sehen kann, scheinen die Befehle, die mit rbenv verwendet werden können, dieselben zu sein.
$ pyenv --help
pyenv 20141211-6-g995da2d
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme
$
Überprüfen Sie die Version, die installiert werden kann.
$ pyenv install --list
Installiert die neueste Version 3.4.2 am 28. Dezember 2014.
$ sudo pyenv install -v 3.4.2
$ pyenv versions
* system (set by /usr/local/pyenv/version)
3.4.2
$
Die Standard-Python-Version für jeden Benutzer wurde in 3.4.2 geändert.
$ sudo pyenv global 3.4.2
$ pyenv versions
system
* 3.4.2 (set by /usr/local/pyenv/version)
$ python --version
Python 3.4.2
$
Mit dem folgenden Befehl können Sie eine Umgebung mit der vorhandenen Python-Version erstellen. Mit pip usw. installierte Pakete unterscheiden sich je nach Umgebung, sodass Sie Pakete problemlos installieren können.
$ sudo pyenv virtualenv 3.4.2 dev01-3.4.2
$ pyenv versions
system
* 3.4.2 (set by /usr/local/pyenv/version)
dev01-3.4.2
$ sudo pyenv local dev01-3.4.2 #Aktuelle Umgebung dev01-3.4.Wechseln Sie zu 2
$ pyenv versions
system
3.4.2
* dev01-3.4.2 (set by /usr/local/pyenv/plugins/.python-version)
$
Versuchen Sie, Gunicorn mit Pip zu installieren.
$ sudo pip install gunicorn
$ pip list
gunicorn (19.1.1)
pip (1.5.6)
setuptools (2.1)
$ sudo pyenv local 3.4.2
$ pip list # 3.4.2 Gunicorn ist nicht in der Umgebung installiert.
pip (1.5.6)
setuptools (2.1)
$
Sie können dev01-3.4.2 mit dem folgenden Befehl löschen.
$ sudo pyenv uninstall dev01-3.4.2
pyenv: remove /usr/local/pyenv/versions/dev01-3.4.2? y
$ pyenv versions
system
* 3.4.2 (set by /usr/local/pyenv/plugins/.python-version)
$
Wenn Sie pyenv verwenden, können Sie die python3.x-Serie problemlos installieren, ohne sich um die Python-Umgebung zu Beginn des Systems kümmern zu müssen, und es scheint, dass Sie die Betriebsüberprüfung der python2.x-Serie und der python3.x-Serie problemlos auf einem Betriebssystem erstellen können.
Es gibt auch einen Wrapper für rbenv und pyenv namens anyenv, der bequemer zu sein scheint, wenn Sie env-Tools in mehreren Sprachen verwenden. Bereiten Sie die Entwicklungsumgebung mit anyenv vor
Das ist es.
Recommended Posts