Python-Entwicklungsumgebung für macOS mit venv 2016

Da es eine Umgebung zum Schreiben von Python in der Entwicklung wurde, habe ich eine Python-Umgebung vorbereitet, da dies eine gute Idee ist. Ich benutze es hauptsächlich für die Webentwicklung + ein kleines Skript, und jetzt verarbeite ich nicht mehr 2 Systemcode, also habe ich pyenv und pyenv-virtualenv nicht mehr verwendet und auf venv umgestellt. (Ergänzung: 29.12.2017 In diesem Umfeld befindet es sich ab 2017 noch in der Entwicklung.)

Umgebung: OS X EL Capitan, High Sierra

Deinstallieren Sie pyenv, pyenv-virtualenv

Deinstallieren Sie pyenv, pyenv-virtualenv gemäß ob pyenv erforderlich ist oder nicht - Flussdiagramm --Qiita. Siehe den Link für Details, aber es scheint, dass Pyenv für diejenigen, die zu diesem Artikel gekommen sind und nach einer Möglichkeit suchen, eine Entwicklungsumgebung zu erstellen, unnötig ist.

Früher habe ich pyenv verwendet, um eine Python-Versionsdatei einzurichten, aber ich kann nicht so etwas wie 3.5 angeben. * Also jedes Mal, wenn ich eine Nebenversion von 3.5.1 auf 3.5.2 aktualisiere. Ich habe die Python-Version neu geschrieben. Die Python-Version ist also eine Datei, die die ausführbare Version anzeigt. Natürlich habe ich sie mit git verwaltet, aber jedes Mal, wenn ich ein Upgrade durchführe, wird ein zusätzlicher git-Verlauf hinzugefügt, und wenn ich versuche, ihn nach langer Zeit auszuführen, die alte Version Ich hatte das Problem, nicht mit einem Versionsfehler ausgeführt werden zu können, es sei denn, ich habe Python installiert oder die Python-Version neu geschrieben.

Erstens werden derzeit nur 3 Systeme von Einzelpersonen verwaltet, und es ist keine Python-Versionsverwaltung erforderlich. Darüber hinaus haben wir entschieden, dass die Verwendung von pyenv nicht erforderlich ist, da die Versionen und Pakete von Teamprodukten mit Dockerfile und anderen verwaltet werden können. Vielen Dank für Ihre Hilfe während der Übergangszeit. Vielen Dank, pyenv.

$ brew uninstall --force pyenv
$ brew uninstall --force pyenv-virtualenv
$ rm -rf .pyenv/

Installation und Upgrade der Python 3-Serie von Imadoki

Mit Homebrew installieren

$ brew install python3

Um Python3, "python3", aufzurufen, wird pip zu "pip3". Wenn Sie aufgefordert werden, pip3 zu aktualisieren,

$ pip3 install --upgrade pip

Danach können Sie ein Upgrade brauen, auch wenn Sie Lust dazu haben.

$ brew upgrade

Vim

Dies sind die dritten Plug-Ins für die Python-Entwicklung. Die detaillierte Verwendung wird dem offiziellen Dokument überlassen und weggelassen.

Angabe des Ausführungsbefehls in quickrun.vim

Die Entwicklung verwendet nur die Python 3-Serie, aber der Befehl python führt Systempython aus (2.7-Serie in osx), sodass der Ausführungsbefehl in quickrun.vim angibt, 3 Serien auszuführen.

let g:quickrun_config = {
  \ 'python': {
  \   'command': 'python3'
  \ },

Installieren Sie nur die global erforderlichen Pakete in der globalen Umgebung

Installieren Sie in einer globalen Umgebung nur die Mindestanzahl von Paketen. Hier wird als Beispiel flake8 installiert, das für die Verwendung im Editor erforderlich ist. Andere erforderliche Pakete werden auf der Docker- oder Venv-Seite installiert. Installieren Sie sie daher nicht global.

$ pip3 install flake8
Collecting flake8
  Downloading flake8-3.0.4-py2.py3-none-any.whl (64kB)
    100% |████████████████████████████████| 71kB 320kB/s
Collecting pycodestyle<2.1.0,>=2.0.0 (from flake8)
  Using cached pycodestyle-2.0.0-py2.py3-none-any.whl
Collecting mccabe<0.6.0,>=0.5.0 (from flake8)
  Downloading mccabe-0.5.2-py2.py3-none-any.whl
Collecting pyflakes!=1.2.0,!=1.2.1,!=1.2.2,<1.3.0,>=0.8.1 (from flake8)
  Using cached pyflakes-1.2.3-py2.py3-none-any.whl
Installing collected packages: pycodestyle, mccabe, pyflakes, flake8
Successfully installed flake8-3.0.4 mccabe-0.5.2 pycodestyle-2.0.0 pyflakes-1.2.3

Bewahren Sie global installierte Paketverwaltungsdateien in Punktedateien auf

Ausgabe der Paketverwaltungsdatei

Der Befehl pip3 freeze kann eine Liste der installierten Pakete ausgeben. Verwenden Sie diese Option.

$ pip3 freeze
flake8==3.0.4
mccabe==0.5.2
pycodestyle==2.0.0
pyflakes==1.2.3

Python gibt es normalerweise als require.txt aus. Befolgen Sie daher die Konvention.

#Paketliste erfordert.Ausgabe an txt
$ pip3 freeze > ~/dotfiles/requirements.txt

Installation aus der Paketverwaltungsdatei

Drücken Sie den folgenden Befehl, um die Installation in einer neuen Umgebung unter Bezugnahme auf die Datei "resources.txt" durchzuführen.

$ pip3 install -r ~/dotfiles/requirements.txt

Ergänzung: Paketaktualisierung

Wenn Sie alle auf einmal aktualisieren möchten, gibt es einen Befehl wie den folgenden, daher habe ich ihn als Alias registriert.

alias pip3_update_all='pip3 freeze --local | grep -v "^\-e" | cut -d = -f 1 | xargs pip3 install -U'

Referenz: Stapelaktualisierung mit pip --Qiita

Ergänzung: Informationen zu den Befehlen python / python3, pip / pip3

$ python ist systemabhängiges Python 2.7.10 und $ python3 ist Python 3, das von Homebrew installiert wurde. Sowohl $ pip als auch $ pip3 sind Python 3 zugeordnet, das mit Homebrew installiert wurde.

# python,Python3-Pfad,Version prüfen
$ where python
/usr/bin/python

$ where python3
/usr/local/bin/python3

$ python -V
Python 2.7.10

$ python3 -V
Python 3.5.2

# pip,pip3 Pfad,Version prüfen
$ where pip
/usr/local/bin/pip

$ where pip3
/usr/local/bin/pip3

$ pip -V
pip 9.0.0 from /usr/local/lib/python3.5/site-packages (python 3.5)

$ pip3 -V
pip 9.0.0 from /usr/local/lib/python3.5/site-packages (python 3.5)

benutze venv

Docker wird grundsätzlich für die Webentwicklung verwendet, aber wenn Sie die lokale Umgebung für die Skriptausführung usw. verwenden, wird venv (virtualenv ist in Python integriert), das in Python 3.3 hinzugefügt wurde, nach Bedarf verwendet. Verwenden Sie diese Option, um eine virtuelle Umgebung zu erstellen. Der Befehl lautet "pyvenv".

Nachtrag: 2017-05-31

Ab Python 3.6 wird es zu "python3 -m venv" und "pyvenv" ist veraltet.

Erstellen Sie eine virtuelle Umgebung

#Erstellen Sie eine virtuelle Umgebung mit dem Namen myenv
# Python 3.5 oder früher
$ pyvenv myenv
# Python 3.6 oder später
$ python3 -m venv myenv



# activate
$ source myenv/bin/activate

# deactivate
$ deactivate

Versuchen Sie, die virtuelle Umgebung zu aktivieren und das Paket in der virtuellen Umgebung zu installieren.

Installieren Sie in einer virtuellen Umgebung nur die für jede Umgebung erforderlichen Pakete.

#Virtuelle Umgebung aktivieren
$ source myenv/bin/activate 

#Versuchen Sie, den Kolben zu installieren
(myenv) $ pip install flask
Collecting flask
  Downloading Flask-0.11.1-py2.py3-none-any.whl (80kB)
    100% |████████████████████████████████| 81kB 2.3MB/s
Collecting Werkzeug>=0.7 (from flask)
  Downloading Werkzeug-0.11.11-py2.py3-none-any.whl (306kB)
    100% |████████████████████████████████| 307kB 2.5MB/s
Collecting click>=2.0 (from flask)
  Using cached click-6.6.tar.gz
Collecting itsdangerous>=0.21 (from flask)
  Downloading itsdangerous-0.24.tar.gz (46kB)
    100% |████████████████████████████████| 51kB 3.8MB/s
Collecting Jinja2>=2.4 (from flask)
  Downloading Jinja2-2.8-py2.py3-none-any.whl (263kB)
    100% |████████████████████████████████| 266kB 2.4MB/s
Collecting MarkupSafe (from Jinja2>=2.4->flask)
  Downloading MarkupSafe-0.23.tar.gz
Installing collected packages: Werkzeug, click, itsdangerous, MarkupSafe, Jinja2, flask
  Running setup.py install for click ... done
  Running setup.py install for itsdangerous ... done
  Running setup.py install for MarkupSafe ... done
Successfully installed Jinja2-2.8 MarkupSafe-0.23 Werkzeug-0.11.11 click-6.6 flask-0.11.1 itsdangerous-0.24

#Überprüfen Sie die Paketliste(Die Paketliste der virtuellen Umgebung von myenv wird ausgegeben)
(myenv) $ pip freeze
click==6.6
Flask==0.11.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.11.11

#Deaktivieren Sie die virtuelle Umgebung
$ deactivate

#Überprüfen Sie die Paketliste(Die Paketliste der globalen Umgebung wird ausgegeben)
$ pip3 freeze
flake8==3.0.4
mccabe==0.5.2
pycodestyle==2.0.0
pyflakes==1.2.3

Referenz: 28.3. Venv - Erstellen einer virtuellen Umgebung - Python 3.5.2-Dokumentation

Es wurde bestätigt, dass die virtuelle Umgebung problemlos umgeschaltet werden kann.

Hinweis: Informationen zu python / python3, pip / pip3-Befehlen auf venv

In der virtuellen Umgebung zeigt der Befehl ohne 3 ebenfalls auf dieselbe Version, sodass es kein Problem gibt, selbst wenn Sie den Befehl ohne 3 drücken.

# python,Python3-Pfad,Version prüfen
(myenv) $ where python
/Users/user_name/myenv/bin/python
/usr/bin/python

(myenv) $ where python3
/Users/user_name/myenv/bin/python3
/usr/local/bin/python3

(myenv) $ python -V
Python 3.5.2

(myenv) $ python3 -V
Python 3.5.2


# pip,pip3 Pfad,Version prüfen
(myenv) $ where pip
/Users/user_name/myenv/bin/pip

(myenv) $ where pip3
/Users/user_name/myenv/bin/pip3

(myenv) $ pip -V
pip 9.0.0 from /Users/user_name/pyvenv/lib/python3.5/site-packages (python 3.5)

(myenv) $ pip3 -V
pip 9.0.0 from /Users/user_name/pyvenv/lib/python3.5/site-packages (python 3.5)

Zusammenfassung

pyenv, pyenv-Vorbereitet eine saubere Python-Umgebung ohne virtualenv. Von nun an wird Python mit "Brew Upgrade" aktualisiert. Wenn Sie in eine neue Umgebung wechseln, können Sie einfach "pip3 install -r ~ / dotfiles / require.txt" ausführen.

Recommended Posts

Python-Entwicklungsumgebung für macOS mit venv 2016
Aufbau der Python3 + venv + VSCode + macOS-Entwicklungsumgebung
[Zum Organisieren] Python-Entwicklungsumgebung
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Optionen für die Python-Entwicklungsumgebung für Mai 2020
Aufbau einer Python-Entwicklungsumgebung unter macOS
Emacs-Einstellungen für die Python-Entwicklungsumgebung
Verwenden von venv in der Windows + Docker-Umgebung [Python]
Erstellen einer Python-Entwicklungsumgebung für die KI-Entwicklung
Erstellen Sie mit dem Serverless Framework eine lokale Entwicklungsumgebung für Lambda + Python
Aufbau einer Python-Entwicklungsumgebung
Informationen zur Python-Entwicklungsumgebung
python2.7 Konstruktion der Entwicklungsumgebung
Entwicklungsumgebung in Python
Wartung der Python-Umgebung für Projekte
Verfahren zum Erstellen einer Python-Isolationsumgebung (venv-Umgebung)
Verzeichnisstruktur für die testgetriebene Entwicklung mit pytest in python
Für ArcPy geeignete Entwicklungsumgebung
Memo zum Erstellen einer Python-Entwicklungsumgebung mit macOS Catalina
OpenCV3-Installation für Python3 @macOS
Aufbau einer Python-Umgebung für Mac
Python3-Umgebungskonstruktion (für Anfänger)
Organisieren Sie die Python-Entwicklungsumgebung
Erstellen Sie eine virtuelle Python-Umgebung mit venv (Django + MySQL ①)
[ev3dev × Python] Aufbau einer ev3dev-Entwicklungsumgebung
Aufbau einer QGIS3 Python-Plug-In-Entwicklungsumgebung mit VSCode (macOS)
[Python] Django-Umgebungskonstruktion (pyenv + pyenv-virtualenv + Anaconda) für macOS
venv: Verwaltung der virtuellen Python-Umgebung
[MEMO] [Entwicklung der Entwicklungsumgebung] Python
Python Standard virtuelle Umgebung venv
Python-Memo (für mich): Über die Entwicklungsumgebung virtualenv
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
jupyter notebook in python3.8 venv umgebung
Erstellen Sie eine Umgebung für maschinelles Lernen mit Python unter MacOSX
Erstellen einer Entwicklungsumgebung für Android-Apps - Erstellen von Android-Apps mit Python
Explosive Geschwindigkeit! Verwenden von Python Simple HTTP Server für die Kintone-Entwicklung
Reibungslose Python-Entwicklungsumgebung für Teams [Poetry + pyenv + black + isort]
Aufbau einer Cortex-M-Entwicklungsumgebung für TOPPERS mit Raspeye
Richten Sie eine Python-Entwicklungsumgebung unter Ubuntu ein
[Für Anfänger] Django -Entwicklungsumgebung Bau-
Bereiten Sie Ihre erste Python-Entwicklungsumgebung vor
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
[TouchDesigner] Tipps für die Anweisung von Python
Memo zum Einstellen der Vim + Python-Entwicklungsumgebung
Installieren Sie die Python-Entwicklungsumgebung unter Windows 10
Python3 TensorFlow für Mac-Umgebungskonstruktion
[Python] Grund für das Überschreiben mit super ()
Konstruktionsnotiz für die Emacs Python-Entwicklungsumgebung
Überprüfen der NAOqi Python-Entwicklungsumgebung
[Python] Neunundneunzig Tabellen, die for-Anweisungen verwenden
Richten Sie mit Atom eine Python-Entwicklungsumgebung ein
Python3.6-Umgebungskonstruktion (unter Verwendung der Win-Umgebung Anaconda)
Versuchen Sie es mit virtualenv, mit dem eine virtuelle Umgebung von Python erstellt werden kann
venv (Python)
Hinweise zur Verwendung von OpenCV mit Windows 10 Python 3.8.3.
Konstruktionsverfahren für die Python (Anaconda) -Entwicklungsumgebung (SpringToolsSuites) _2020.4
Erstellen Sie eine Umgebung für das in Blender integrierte Python
Hinzufügen einer lokalen Entwicklungsumgebung unter MacOS
[Entwicklungsumgebung] Python mit Xcode [Mit Bildschirmübergang]
Verwalten Sie mehrere Ausführungsumgebungen mit Python venv