Python-Umgebungskonstruktion (Pyenv + Poesie + Pipx)

What's this? Macbook Python-Umgebung

Da es eingebaut wurde, ist es ein Memo. Die Umgebung ist ** mac OS 10.14.6 Mojave **. Wir gehen davon aus, dass Homebrew bereits enthalten ist. (Wenn Sie kein Homebrew haben, lesen Sie bitte Homebrew Official und fügen Sie es hinzu.) Ich denke, ich werde es von Zeit zu Zeit aktualisieren.

Python 3-Installation

Installieren Sie das System python3 mit Homebrew. Wenn Sie es bereits haben, überspringen Sie es bitte. Überspringen Sie auch bitte Leute, die sagen: "Ich werde Pyenv später setzen. Ich werde es in Pyenv setzen." Die Installation von python3 auf dem System ist mein Hobby. (~~ Außerdem weiß ich nicht, was es ist, aber wenn ich versuche, numpy und scipy mit mkl mit python auf pyenv zu verknüpfen, schlägt dies fehl ... ~~ Weitere Informationen hier)

$ brew install python

Installieren Sie pyenv

Geben Sie "pyenv" gemäß [Official] ein (https://github.com/pyenv/pyenv#installation). Ich denke, "Brew Install Pyenv" ist einfach, aber ich mag "PYENV_ROOT = / usr / local / var / pyenv" nicht wirklich (es ist ein komplettes Hobby. Ich möchte es auch so ähnlich wie möglich zur Linux-Umgebung machen. ), Geben Sie es also mit git ein ( Brew Install Pyenv ist überhaupt kein Problem).

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Bearbeiten Sie nach der Installation mit ".bash_profile", um "pyenv init" über "PATH" auszuführen.

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

Starten Sie die Shell neu und Sie können pyenv verwenden.

Wenn Sie Python3 nicht auf Ihrem System installiert haben, führen Sie hier "pyenv install 3.7.6" und "pyenv global 3.7.6" aus.

Wenn die pyenv-Installation fehlschlägt, funktioniert möglicherweise die Installation der neuesten Befehlslinientools von https://developer.apple.com/download/more/?=command%20line%20tools.

Installation von Poesie

Folgen Sie Official.

$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3

Mein Hobby ist es auch, ".venv" im Projektverzeichnis zu machen

$ poetry config virtualenvs.in-project true

Laufen. Die Einstellungen hier

$ poetry config --list

Sie können es bei sehen.

Installieren Sie pipx

Wenn Sie den Leuten grob erklären "Was ist Pipx überhaupt?" ...

Es gibt eine Anwendung (Befehl), die mit pip installiert werden soll (z. B. sphinx-quickstart). Ich benutze so etwas in fast jeder virtuellen Umgebung. Verbrennungen Die Installation in allen virtuellen Umgebungen ist mühsam. Daher diejenige, die es ermöglicht, solche Anwendungen (Befehle) zu verwenden, die mit pip global eingegeben werden können.

ist. Der Beamte ist hier.

Ignoriere diese Leute und gehe weiter.

Für diejenigen, die Python mit Homebrew installiert haben

$ brew install pipx
$ pipx ensurepath

Für diejenigen, die Python in Pyenv global machen

$ python3 -m pip install --user pipx
$ python3 -m pipx ensurepath

Fügen Sie Folgendes zu .bash_profile hinzu, um die Tab-Vervollständigung zu aktivieren.

eval "$(register-python-argcomplete pipx)"

Das ist das Ende. Danke für deine harte Arbeit.

Mit Poesie eine Umgebung schaffen

Es gibt zwei Möglichkeiten, mit Poesie eine Umgebung zu schaffen: "Poetry New" und "Poetry Init".

my-package
├── pyproject.toml
├── README.rst
├── my_package
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_my_package.py

Wenn Sie ein Paket erstellen möchten, sollten Sie es als "Poesie neu " erkennen, andernfalls sollten Sie es als "Poesie darin" erkennen.

Wahrscheinlich ist letzteres oft der Fall, also werden wir hier "Poesie darin" verwenden, um die Umgebung zu schaffen.

Installieren Sie zunächst Python, das im Projekt verwendet wird, mit pyenv. Verwenden wir hier 3.7.4.

$ pyenv install 3.7.4

Erstellen Sie ein Verzeichnis für Ihr Projekt.

$ mkdir /foo/bar/project

Nachdem Sie die Version von Python angegeben haben, die mit "pyenv local" verwendet werden soll, "poetry init".

$ cd /foo/bar/project
$ pyenv local 3.7.4
$ poetry init
(Wenn Sie antworten, was Sie gefragt werden, pyproject.Toml wird generiert)
(Ignorieren Sie die Frage und das spätere Projekt.Sie können toml bearbeiten)
(Zunächst einmal selbst ein Projekt durchführen.Sie können Toml machen)

Sie können das Paket wie in pyproject.toml beschrieben mit Poetry Install installieren.

$ poetry install
(Das ist ein Projekt.Das in toml geschriebene Paket ist installiert)
(An diesem Punkt`.venv`Wird auch gemacht)

Sie können auch ein Paket mit "Poetry Add " hinzufügen.

Weitere Informationen zur Verwendung von Gedichten finden Sie unter Offizielle Dokumentation.

Die virtuelle Umgebung (.venv) wird automatisch erstellt, wenn Sie zum ersten Mal Poetry Add oder Poetry Install verwenden. Vorher erstellen Sie jedoch eine virtuelle Umgebung als Python -m venv .venv usw. Ist auch gut Sie mögen denken, dass dies notwendig ist, aber es scheint, dass dies der einzige Weg ist, dies zu tun, wenn Sie pip.conf benötigen (ich kenne bisher keine andere Methode). pip.conf sollte unter .venv stehen (es wird .venv / pip.conf sein). Übrigens in meinem Fall pip.conf ($ HOME / .pip / pip.conf) von python3 des Systems

[install]
no-binary = numpy,scipy

[wheel]
no-binary = numpy,scipy

Wenn Sie nichts tun, sind Sie davon betroffen. Wenn ich also "numpy, scipy" verwende, erstelle ich absichtlich ".venv / pip.conf" mit den folgenden Inhalten.

[install]
no-binary = 

[wheel]
no-binary = 

Wenn Sie nicht in Bezug auf mkl entwickeln, wird der Build von numpy, scipy fehlschlagen, also werde ich dies tun (~~ Ich werde später darüber schreiben ~~ Ich habe einen Artikel → numpy, scipy unter pyenv + Poesie-Umgebung zu mkl gemacht Ich möchte es verwenden).

(Beispiel für die Verwendung von pipx) Installieren Sie Sphinx mit pipx

Ich denke, es ist besser, ein Verwendungsbeispiel für "pipx" zu sehen, daher werde ich das Verfahren zur Installation von "sphinx" mit "pipx" vorstellen. Wie oben erwähnt, ist es schwierig, "Sphinx" in allen virtuellen Umgebungen zu installieren (oder niemals zu tun), so dass "Pipx" ins Spiel kommt.

$ pipx install sphinx

Wenn Sie sphinx_rtd_theme oder sphinxcontrib-blockdiag verwenden möchten,

$ pipx inject sphinx sphinx_rtd_theme
$ pipx inject sphinx sphinxcontrib-blockdiag

Du kannst es schaffen.

Schließlich

Bisher habe ich "pipenv" verwendet, aber im Vergleich zu "pipenv" sollte "poetry" das Paket schneller installieren. Ich mache jedoch nicht viele Pakete. Wenn ich gefragt werde, ob es sich um "Poesie" handeln soll, ist dies nicht der Fall. Wenn es noch etwas gibt, das gut aussieht, kann ich wieder wechseln (ich habe das die ganze Zeit wiederholt ... Gibt es ein Ziel?)

Referenz

Recommended Posts

Python-Umgebungskonstruktion (Pyenv + Poesie + Pipx)
Umgebungskonstruktion (Python)
Python-Umgebungskonstruktion (Pyenv, Anaconda, Tensorflow)
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Holen Sie sich eine saubere Python-Entwicklungsumgebung mit pyenv + pipx + Poetry
Erstellen einer Python-Entwicklungsumgebung für Windows + gVim + Poetry
Homebrew Python Umgebung Konstruktion
Aufbau einer Python-Entwicklungsumgebung
Bau von Pyenv + Fischumwelt
python2.7 Konstruktion der Entwicklungsumgebung
Python-Umgebungskonstruktion @ Win7
Aufbau der Python3 TensorFlow-Umgebung (Mac und pyenv virtualenv)
Python 3.x-Umgebungskonstruktion von Pyenv (CentOS, Ubuntu)
Aufbau einer Python-Umgebung (Windows 10 + Emacs)
CI-Umgebungskonstruktion ~ Python Edition ~
Aufbau einer Python-Umgebung für Mac
Konstruktionsverfahren für die Anaconda3-Python-Umgebung
Python3-Umgebungskonstruktion (für Anfänger)
Python-Umgebungskonstruktion und TensorFlow
Erstellen einer Python-Umgebung unter Windows 7
[MEMO] [Entwicklung der Entwicklungsumgebung] Python
Umgebungskonstruktion von Python2 & 3 (OSX)
Aufbau der Python-Entwicklungsumgebung 2020 [Von der Python-Installation bis zur Einführung in die Poesie]
[Python] Django-Umgebungskonstruktion (pyenv + pyenv-virtualenv + Anaconda) für macOS
Aufbau einer Python-Umgebung auf einem Mac (pyenv, virtualenv, anaconda, ipython notebook)
Umgebungskonstruktion von Python und OpenCV
Beginnen Sie mit Python! ~ ① Umweltbau ~
Aufbau einer Anaconda-Python-Umgebung unter Windows 10
Python + Unity Verbesserte Erstellung von Lernumgebungen
Ich habe die Konstruktion der Mac Python-Umgebung überprüft
Konstruktionsnotiz für die Python-Umgebung auf dem Mac
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Aufbau einer Python-Entwicklungsumgebung unter macOS
Erstellen einer Umgebung für Python3.8 auf einem Mac
Reibungslose Python-Entwicklungsumgebung für Teams [Poetry + pyenv + black + isort]
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Python3 TensorFlow für Mac-Umgebungskonstruktion
Konstruktionsnotiz für die Emacs Python-Entwicklungsumgebung
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
[Docker] Python3.5 + Numpy + Matplotlib-Umgebungskonstruktion
Python3.6-Umgebungskonstruktion (unter Verwendung der Win-Umgebung Anaconda)
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Erstellen einer Umgebung mit pyenv und pyenv-virtualenv
Erstellen einer lokalen Python-Entwicklungsumgebung Teil 1 (pyenv, pyenv-virtualenv, pip-Installation)
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04
Konstruktionsverfahren für die Python (Anaconda) -Entwicklungsumgebung (SpringToolsSuites) _2020.4
Verwenden Sie smbus mit python3 in einer pyenv-Umgebung
Konstruktionsverfahren für die Python-Projektumgebung (für Windows)
Aufbau der Python3 + venv + VSCode + macOS-Entwicklungsumgebung
Aufbau einer VScode-Umgebung (Windows 10, Python, C ++, C, Git)
Verfahren zur Erstellung der Umgebung: Ubuntu + Apache2 + Python + Pyramid
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Kommen wir zu Python # 0 (Umgebungskonstruktion)
Django Umweltbau