Dieser Artikel ist der 15. Tagesartikel von Lisp Adventskalender 2019.
Hy ist ein Clojure-ähnlicher Lisp-Dialekt, der auf Pythons virtueller Maschine ausgeführt wird. Für Lisper (hauptsächlich Clojurian), der Python noch nie berührt hat, werde ich mich darauf konzentrieren, wie man eine Hy-Umgebung erstellt.
Ein Einführungsdokument zu Hy selbst finden Sie im offiziellen Tutorial oder im Tutorial des Vorgängers.
Es ist einfach, das Installationsprogramm von python.org herunterzuladen und zu installieren. Plötzlich ist es eine Falle, aber das neueste Installationsprogramm, das von der Startseite von python.org heruntergeladen werden kann, ist die 32-Bit-Version (Stand Dezember 2019). Achten Sie darauf, es nicht zu installieren, es sei denn, Sie befinden sich in einer 32-Bit-Umgebung.
Es scheint üblich, Homebrew zu installieren und dann den Befehl "Brew" zu verwenden.
$Wenn Sie die installierbare Version mit Brew Info Python überprüfen, 3.7.War 5(2019/12/Bei 13 Punkten)。
Speicherort von Python 3 (3.7.5), das von Homebrew installiert wurde
/usr/local/bin/python3
Ort der Site-Pakete
/usr/local/lib/python3.7/site-packages
## Aufbau einer virtuellen Umgebung
Es funktioniert auch, wenn ich ein Modul eines Drittanbieters in den Site-Paketen von Python selbst installiere.
Durch die Verwendung unterschiedlicher virtueller Umgebungen für jedes Projekt können Sie vermeiden, die ursprüngliche Umgebung zu verschmutzen und andere Projekte nicht zu beeinträchtigen.
Wenn Sie eine virtuelle Umgebung mit dem standardmäßig verwendeten Befehl `` `venv``` erstellen, wird diese erstellt, indem Sie Folgendes unter dem Verzeichnis ausführen, das Sie erstellen möchten.
$ python -m venv
Wenn die Abhängigkeiten der unten beschriebenen Module von Drittanbietern während der Verwendung der virtuellen Umgebung durcheinander geraten, werfen Sie sie einfach weg und erstellen Sie sie neu.
Verwenden Sie die Befehle `` `Aktivieren``` ・` `` Deaktivieren```, um die virtuelle Umgebung zu aktivieren / deaktivieren.
Die Position von `` `enable``` in venv hängt von der Shell und dem Betriebssystem ab, also [venv --- Create Virtual Environment](https://docs.python.org/ja/3/library/venv. Siehe "Befehle zum Aktivieren virtueller Umgebungen" in HTML.
## Modulinstallation
Wenn Python installiert ist, wird die [Standardbibliothek](https://docs.python.org/ja/3/library/index.html) zusammen installiert und Sie können sie von Hy aus verwenden. Da Python eine Sprache mit integriertem Akku ist, können Sie mit nur der Standardbibliothek verschiedene Aufgaben ausführen.
Wenn Sie ein anderes Modul eines Drittanbieters als die Standardbibliothek verwenden möchten, verwenden Sie das Paketverwaltungstool [pip](https://docs.python.org/ja/3/installing/index.html), um es in der virtuellen Umgebung zu installieren. Ich werde.
Grundsätzlich funktionieren alle Python-Module (fast) mit Hy.
Natürlich funktionieren in Hy geschriebene Module, wenn sie dieselbe Version haben (obwohl ich sie selten sehe ...).
Module von Drittanbietern für Python finden Sie unter [PyPI](https://pypi.org/).
Gelegentlich gibt es Python-Module, die nicht bei PyPI registriert sind, aber ich werde später erklären, wie sie installiert werden (für diejenigen, die vom GitHub-Repository verwaltet werden).
Sie können auch die wissenschaftliche Berechnungsbibliothek Anaconda installieren und die Module mit `` `conda``` verwalten.
```pip```Es wird in diesem Artikel nicht installiert, da es in Kombination mit die Umwelt schädigen kann.
Aktivieren Sie die virtuelle Umgebung `` `enable`` `und installieren Sie das Modul mit` `` pip install <Modulname> `` `.
Wenn Sie alle auf einmal installieren möchten, schreiben Sie die Datei require.txt mit den durch Zeilenumbrüche getrennten Modulnamen und führen Sie `` `pip install -r require.txt``` aus. Konventionell heißt es require.txt, aber Sie können es auch anders benennen.
#### **`requirements.txt`**
```text
hy
openpyxl
PySide2
Sie können auch eine bestimmte Version angeben.
requirements.txt
hy==0.17.0
openpyxl==3.0.2
PySide2==5.13.2
Wenn sich das Modul nur im GitHub-Repository befindet
pip install git+https://github.com/hoge/fuga.git
Machen. Sie können dies auch in die Datei resources.txt aufnehmen.
Wenn Sie eine Liste der in dieser Umgebung installierten Module von Drittanbietern anzeigen möchten, führen Sie `` `pip freeze``` aus.
pip freeze > requirements.Wenn Sie es wie txt schreiben, ist die Wiederherstellung auch dann einfacher, wenn die Umgebung beschädigt ist.
## Editor / IDE
Nur wenige Editoren / IDEs haben bisher Hy-Plugins. Soweit ich weiß, gibt es nur drei:
* Emacs
* [hy-mode](https://melpa.org/#/hy-mode)
* Vim
* [vim-hy](https://github.com/hylang/vim-hy)
* Visual Studio Code
* [vscode-hy](https://marketplace.visualstudio.com/items?itemName=xuqinghan.vscode-hy)
# Wie erstelle ich ein Paket?
Wenn Sie Ihre eigenen Anwendungen und Bibliotheken überlagern möchten, erleichtert das Erstellen eines Pakets die Verwaltung.
hy ─┬─ hoge ─┬─ fuga ─┬─ init.hy . │ . └─ piyo │ └─ bar.hy │ ├─ init.hy . └─ foo.hy
Wenn das Verzeichnis `` `hy``` der Umgebungsvariablen [PYTHONPATH](https://docs.python.org/ja/3/using/cmdline.html#envvar-PYTHONPATH) in der obigen Abbildung hinzugefügt wird,
Indem Sie \ _ \ _ init \ _ \ _. Hy in jedes Verzeichnis unter hoge setzen
#### **`example_import.hy`**
```hylang
(import hoge) ;;hoge__init__.hy wird importiert
(import hoge.foo)
(import hoge.fuga) ;; hoge/Fuga__init__.hy wird importiert
(import hoge.fuga.bar)
Kann geschrieben werden als Die Struktur dieses Pakets ähnelt Python.
Python-Tutorial> 6. Module> 6.4. Pakete
Lass uns ein gutes Hy-Leben haben.
Recommended Posts