[PYTHON] Eine Geschichte über das Ausprobieren von pyenv, virtualenv und virtualenvwrapper

Bisher wurde die Python-Umgebung von pyenv verwaltet, aber ich höre es oft, deshalb habe ich versucht, virtualenv zu verwenden. Installieren Sie gleichzeitig virtualenvwrapper.

Vorumgebung

So was

$ pyenv versions 
  system
* 3.5.2 (set by /Users/hikaru/.pyenv/version)

Installation

Installieren Sie in der Umgebung von Python 3.5.2.

$ pyenv version
3.5.2 (set by /Users/hikaru/.pyenv/version)
$ pip install virtualenv virtualenvwrapper

installieren

Schreiben Sie Folgendes in .bashrc

export WORKON_HOME=$HOME/.virtualenvs
source $PYENV_ROOT/versions/3.5.2/bin/virtualenvwrapper.sh

Führen Sie den folgenden Befehl aus.

$ mkdir ~/.virtualenvs
$ source ~/.bashrc

Ich war süchtig nach dem Speicherort der Quelle virtualenvwrapper.sh. Es gibt auch eine Datei mit dem Namen $ HOME / .pyenv / shims / virtualenvwrapper.sh, die sich jedoch von der oben genannten unterscheidet. Oder besser gesagt, als ich das beschaffte, wurde das Terminal verlassen.

Bewegung

Umwelt schaffen

$ mkvirtualenv django
Using base prefix '/Users/hikaru/.pyenv/versions/3.5.2'
New python executable in /Users/hikaru/.virtualenvs/django/bin/python3.5
Also creating executable in /Users/hikaru/.virtualenvs/django/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/get_env_details
(django) $ pip list -l --format=columns
Package    Version
---------- -------
appdirs    1.4.3  
packaging  16.8   
pip        9.0.1  
pyparsing  2.2.0  
setuptools 35.0.2 
six        1.10.0 
wheel      0.29.0 

Mit dieser Art von Gefühl wurde eine Umgebung namens Django geschaffen. Es sind nur die minimal erforderlichen Pakete enthalten.

Verlasse die Umgebung

(django)$ deactivate
$

Sie können jede Umgebung eingeben, indem Sie die Umgebungsliste mit dem Befehl workon anzeigen und die Umgebung als Option auswählen.

$ workon 
django
$ workon django
(django) $

Umgebung löschen

$ rmvirtualenv django
Removing django...
$ 

Umgebungskonstruktion durch Angabe von Python

Wenn mkvirtualenv in der Umgebung von python3.5.2 ausgeführt wird, wird die Umgebung von python3.5.2 erstellt, es kann jedoch auch eine andere Python explizit verwendet werden.

$ mkvirtualenv --python=/usr/bin/python2.7 django
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /Users/hikaru/.virtualenvs/django/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/get_env_details
(django) $ python --version
Python 2.7.10
(django) $ 

Python 2.7.10 funktioniert ordnungsgemäß.

Zusammenfassung

Wenn Sie nicht für jede Python-Version Pakete verwalten müssen, benötigen Sie wahrscheinlich keine virtuelle Umgebung. Wenn es andererseits Pakete gibt, die sich gegenseitig nachteilig beeinflussen, oder wenn eine detaillierte Versionsspezifikation erforderlich ist, Es scheint besser, die Umgebung mit virtualenv auszuschalten.

Recommended Posts

Eine Geschichte über das Ausprobieren von pyenv, virtualenv und virtualenvwrapper
Mechanismus von Pyenv und Virtualenv
Die Geschichte, deep3d auszuprobieren und zu verlieren
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Eine Geschichte von Versuch und Irrtum beim Versuch, eine dynamische Benutzergruppe in Slack zu erstellen
Koexistenz von Pyenv und Autojump
Die Geschichte des Exportierens eines Programms
Eine Geschichte, die es aufgegeben hat, JavaScripthon unter Windows auszuführen.
Eine Geschichte über einen Anfänger im Deep Learning, der versucht, Gitarren mit CNN zu klassifizieren
Die Geschichte, den Versuch aufzugeben, mit Heroku eine Verbindung zu MySQL herzustellen
Die Geschichte einer Soundkamera mit Touch Designer und ReSpeaker
Die Geschichte des Versuchs, den Client wieder zu verbinden
Eine Geschichte, die Slack und Google Spreadsheet verbindet
Ein grobes Verständnis von Python-Feuer und ein Memo
Eine kleine Überprüfung von Pandas 1.0 und Dask
Verbinde viel Python oder und und
Eine Geschichte über Python Pop und Append
Die Geschichte der Verarbeitung A von Blackjack (Python)
Eine Geschichte über einen Versuch, uwsgi auf einer fehlgeschlagenen EC2-Instanz zu installieren
Die Geschichte einer Box, die Peppers AL Memory und MQTT miteinander verbindet
Die Geschichte eines hochrangigen Technikers, der versucht, das Überleben der Titanic vorherzusagen
Aufbau der Python3 TensorFlow-Umgebung (Mac und pyenv virtualenv)
Erstellen einer Python-Umgebung mit virtualenv und direnv
Ein Memorandum zum Studieren und Implementieren von Deep Learning
Eine Geschichte, die von Go's globalen Variablen und ihrem Umfang abhängig ist
Schreiben Sie eine Notiz über die Python-Version von Python Virtualenv
Die Geschichte des Versuchs, Tensorboard mit Pytorch zu verwenden
Erstellen Sie eine virtuelle Umgebung mit pyenv und venv
Die Geschichte, Sourcetrail × macOS × VS Code auszuprobieren
Die Geschichte eines Mel-Icon-Generators
Eine Geschichte über das Ändern von Python und das Hinzufügen von Funktionen
[Python] Ein grobes Verständnis von Iterablen, Iteratoren und Generatoren
Berücksichtigung der Stärken und Schwächen von Python
Die Geschichte von Airflows Webserver und DAG, deren Laden lange dauert
Ich kann die Uhrenquelle tsc nicht finden! ?? Die Geschichte des Versuchs, einen Kernel-Patch zu schreiben
Eine Geschichte über den Versuch, mit der kostenlosen Stufe von AWS zur COVID-19-Analyse beizutragen, und das Scheitern
Die wahre Ursache für einen Jubatus-Client, der einen Fehler ausspuckt
Eine Geschichte über den Versuch, Linter mitten in einem Python (Flask) -Projekt vorzustellen
Finden Sie heraus, wer ein Lieblingsbenutzer von Hatena Bookmark ist und nicht mehr aktiv ist