Ich habe das Python-Versionsmanagement untersucht, als ich die Python-Umgebung vorbereitet habe, aber ich war ziemlich verwirrt von virtualenv und pyenv-virtualenv.
Ich habe diesen Artikel damals gefunden. Es war sehr leicht zu verstehen und erfrischt.
Ich werde versuchen, es selbst zusammenzufassen.
pyenv-virtualenv und virtualenv sind unterschiedlich und die folgenden zwei Kombinationen sind möglich.
Wenn Sie beispielsweise unterschiedliche Python-Umgebungen für projectA, projectB und projectC verwenden möchten und pyenv-virtualenv verwenden, werden alle drei Umgebungen im HOME-Verzeichnis erstellt und Sie verweisen auf sie aus jedem Projekt. Bei Verwendung von virtualenv wird in jedem Projekt eine Python-Umgebung erstellt. Ich denke, das bedeutet es.
virtualenv kann im Projektverzeichnis abgeschlossen werden, es ist jedoch problematisch, die Umgebung jedes Mal aktivieren zu müssen. pyenv-virtualenv ist einfach, da die Umgebung beim Aufrufen des Projektverzeichnisses automatisch angewendet wird. Es ist jedoch etwas unangenehm, dass die Umgebung unter dem Verzeichnis HOME erstellt wird. Weil Sie nicht wirklich dieselbe Umgebung aus einem anderen Projekt verwenden möchten.
Also habe ich mich für pyenv + virtualenv entschieden.
pyenv
Installieren Sie pyenv mit Homebrew.
$ brew install pyenv
Fügen Sie die folgenden Einstellungen zu .bash_profile
usw. hinzu.
.bash_profile}
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
Versuchen Sie, die neueste Version von Python zu installieren.
Sie können eine Liste der installierbaren Versionen mit pyenv install -l
sehen. Versuchen Sie, die neuesten Versionen der Serien 2 und 3 zu installieren.
$ pyenv versions
* system (set by /Users/clutter/.pyenv/version)
$ pyenv install -l
$ pyenv install 2.7.12
$ pyenv install 3.5.2
$ pyenv versions
* system (set by /Users/clutter/.pyenv/version)
2.7.12
3.5.2
Sie haben 2.7.12
und 3.5.2
erfolgreich installiert.
Versuchen Sie, die Versionen mit pyenv zu wechseln.
~$ pyenv version
system (set by /Users/clutter/.pyenv/version)
~$ python -V
Python 2.7.10
##Globale Versionsänderung
~$ pyenv global 3.5.2
~$ pyenv version
3.5.2 (set by /Users/clutter/.pyenv/version)
~$ python -V
Python 3.5.2
##Änderungen in einem bestimmten Verzeichnis
~$ mkdir pytest
~$ cd !$
pytest$ pyenv local 2.7.12
pytest$ pyenv version
2.7.12 (set by /Users/clutter/pytest/.python-version)
pytest$ python -V
Python 2.7.12
pytest$ cd ..
~$ pyenv version
3.5.2 (set by /Users/clutter/.pyenv/version)
~$ python -V
Python 3.5.2
Sie können sehen, dass die Versionen zwischen dem Home-Verzeichnis und dem Pytest-Verzeichnis gewechselt wurden. Die lokale Version scheint in der in diesem Verzeichnis erstellten Python-Version aufgezeichnet zu sein.
pytest$ ls -a
. .. .python-version
pytest$ cat .python-version
2.7.12
virtualenv
Wenn Sie zu der mit pyenv installierten Version wechseln, können Sie pip
verwenden, also installieren Sie es.
$ pip install virtualenv
Erstellen Sie eine virtuelle Umgebung und installieren Sie Flask.
$ pip list
pip (8.1.1)
setuptools (20.10.1)
virtualenv (15.1.0)
#Erstellen Sie eine neue virtuelle Umgebung venvtest
$ virtualenv venvtest
New python executable in /Users/clutter/venvtest/bin/python2.7
Also creating executable in /Users/clutter/venvtest/bin/python
Installing setuptools, pip, wheel...done.
$ ls
venvtest
$ cd venvtest
#Virtuelle Umgebung aktivieren
$ source bin/activate
#Installieren Sie Pakete in einer virtuellen Umgebung
(venvtest) $ pip install Flask
(venvtest) $ pip list
click (6.6)
Flask (0.11.1)
itsdangerous (0.24)
Jinja2 (2.8)
MarkupSafe (0.23)
pip (9.0.1)
setuptools (30.4.0)
Werkzeug (0.11.11)
wheel (0.29.0)
#Beenden Sie die virtuelle Umgebung
(venvtest) $ deactivate
$ pip list
pip (8.1.1)
setuptools (20.10.1)
virtualenv (15.1.0)
Wenn Sie die virtuelle Umgebung verlassen, sehen Sie, dass Flask nicht installiert ist. Wenn Sie beim Erstellen einer virtuellen Umgebung "--no-site-packages" hinzufügen, werden die global installierten Pakete anscheinend ignoriert und die Umgebung in einem schönen Zustand erstellt. Daher sollten Sie sich diese Option besser merken. ..
Erstellen Sie mit der Option "--python"
virtualenv venv --python=~/.pyenv/versions/3.5.2/bin/python3
Sie können --python = python3.5.2
setzen, aber es wird gesagt, dass Sie nicht wissen, was python3 ist, wenn auch anaconda installiert ist.
Dies kann die Ursache sein.
.bash_profile
wird nicht geladenRecommended Posts