Erstellen einer Hy-Umgebung für Lisper, der Python nicht berührt hat

Dieser Artikel ist der 15. Tagesartikel von Lisp Adventskalender 2019.

Zusammenfassung dieses Artikels

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.

Zielgruppe

Ein Einführungsdokument zu Hy selbst finden Sie im offiziellen Tutorial oder im Tutorial des Vorgängers.

Umgebung

Installieren Sie Python

Für Windows 10

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.

2019-12-10_22h14_25.png

Für MacOS

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

Zusammenfassung

Lass uns ein gutes Hy-Leben haben.

Recommended Posts

Erstellen einer Hy-Umgebung für Lisper, der Python nicht berührt hat
[Mac] Erstellen einer virtuellen Umgebung für Python
Erstellen einer Python-Entwicklungsumgebung für die KI-Entwicklung
Erstellen einer virtuellen Python-Umgebung
Erstellen einer virtuellen Python-Umgebung
Schreiben Sie über das Erstellen einer Python-Umgebung zum Schreiben von Qiita Qiita
Erstellen einer R- und Python Docker-Arbeitsumgebung
Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python)
Python-Umgebungskonstruktion für Programmieranfänger (Mac OS)
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
Erstellen einer Python-Umgebung auf einem Mac
Aufbau einer Python-Umgebung für künstliche Intelligenz (Chainer / TensorFlow / CSLAIER)
Erstellen einer Python-Umgebung unter Ubuntu
Erstellen einer virtuellen Umgebung mit Python 3
[Python] Erstellen einer virtuellen Python-Umgebung für das Pyramiden-Tutorial (Zusammenfassung)
Erstellen einer Docker-Arbeitsumgebung für R und Python 2: Japanische Unterstützung
Wie wäre es mit Anaconda zum Erstellen einer maschinellen Lernumgebung mit Python?
Erstellen einer Windows 7-Umgebung für eine Einführung in das maschinelle Lernen mit Python
Vom Aufbau einer Python-Umgebung für unerfahrene Personen bis zur Hello-Welt
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04
Erstellen wir eine virtuelle Umgebung für Python
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Erstellen einer Conda-Umgebung für ROS-Benutzer
Ein modernes Verfahren zum Erstellen von Umgebungen für diejenigen, die sofort mit Python beginnen möchten
Erstellen einer virtuellen Umgebung für Mayavi für Python 3.6-, Anaconda- und Spyder-Benutzer
Selen + WebDriver (Chrome) + Python | Erstellen einer Umgebung zum Scraping
Erstellen einer Umgebung zum Ausführen von Python-Skripten (für Mac)
Erstellen einer Anaconda-Umgebung für Python mit pyenv
[Python] Webentwicklungsvorbereitung (Erstellen einer virtuellen Umgebung)
Denken Sie daran, eine Python 3-Umgebung in einer Mac-Umgebung zu erstellen
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Verfahren zum Erstellen einer Python-Isolationsumgebung (venv-Umgebung)
Hinweise zum Erstellen einer Python-Umgebung durch Anfänger
Erstellen einer Python-Umgebung auf dem Sakura VPS-Server
Erstellen Sie eine Python-Umgebung
Wartung der Python-Umgebung für Projekte
Empfehlung zum Erstellen einer tragbaren Python-Umgebung mit conda
Aufbau einer Trainingsumgebung für Penetrationstests mit Naumachia
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Erstellen einer Umgebung für die Verarbeitung natürlicher Sprache mit Python
conda Hinweis: Erstellen einer Python-Umgebung mit Spacon ITO
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
Zusammenfassung vom Erstellen von Python 3.4. * Von der Quelle zum Erstellen einer wissenschaftlichen Computerumgebung
[Hinweis] Liste der grundlegenden Befehle zum Erstellen einer Python / Conda-Umgebung
Das kürzeste Memo zum Erstellen einer Python-Umgebung, deren Arbeit weniger als 5 Minuten dauert.
Aufbau einer Python-Umgebung für Mac
Python3-Umgebungskonstruktion (für Anfänger)
[Zum Organisieren] Python-Entwicklungsumgebung
Erstellen Sie die Python-Umgebung offline
Vorsichtsmaßnahmen, die beim Aufbau einer PYTHON-Umgebung beachtet werden müssen
Erstellen einer virtuellen Umgebung für Python auf dem Mac [Sehr einfach]
Erstellen Sie unter CentOS 7.7 eine Python-Umgebung für Ihren Heimserver
Wettbewerb mit VS-Code Erstellen Sie eine Python-Umgebung für Profis unter Windows
Erstellen Sie eine Windows Python-Ausführungsumgebung mit VScode + Remote WSL
Erstellen und testen Sie eine CI-Umgebung für mehrere Versionen von Python
Erstellen Sie mit dem Serverless Framework eine lokale Entwicklungsumgebung für Lambda + Python
Aufbau einer Python-Umgebung für diejenigen, die Datenwissenschaftler 2016 werden möchten