Cet article est l'article du 15e jour du Calendrier de l'Avent Lisp 2019.
Hy est un dialecte Lisp de type Clojure qui fonctionne sur la machine virtuelle de Python. Pour Lisper (principalement Clojurian) qui n'a jamais touché à Python, je me concentrerai sur la façon de construire un environnement Hy.
Pour un document d'introduction sur Hy lui-même, veuillez vous référer au tutoriel officiel ou à celui rédigé par le prédécesseur.
Il est facile de télécharger et d'installer le programme d'installation à partir de python.org. Soudain, c'est un piège, mais le dernier programme d'installation qui peut être téléchargé à partir de la première page de python.org est la version 32 bits (à partir de décembre 2019). Veillez à ne pas l'installer sauf si vous êtes dans un environnement 32 bits.
Il semble courant d'installer Homebrew puis d'utiliser la commande
brew```.
$Si vous vérifiez la version installable avec brew info python, 3.7.Était 5(2019/12/À 13 points)。
Emplacement de Python 3 (3.7.5) installé par Homebrew
/usr/local/bin/python3
emplacement des packages de site
/usr/local/lib/python3.7/site-packages
## Construire un environnement virtuel
Cela fonctionne même si j'installe un module tiers dans les packages de site de Python lui-même.
En utilisant différents environnements virtuels pour chaque projet, vous pouvez éviter de polluer l'environnement d'origine et éviter d'affecter d'autres projets.
Lors de la création d'un environnement virtuel à l'aide de la commande `` venv '' fournie par défaut, il sera créé en exécutant ce qui suit sous le répertoire que vous souhaitez créer.
$ python -m venv
Si les dépendances des modules tiers décrits ci-dessous se gâchent lors de l'utilisation de l'environnement virtuel, jetez-le simplement et recréez-le.
Pour activer / désactiver l'environnement virtuel, utilisez les commandes ```activate``` et `` deactivate```.
L'emplacement de ```activate``` dans venv dépend du shell et du système d'exploitation, donc [venv --- Créer un environnement virtuel](https://docs.python.org/ja/3/library/venv. Voir «Commandes pour activer les environnements virtuels» en html).
## Installation du module
Lorsque vous installez Python, les bibliothèques standard (https://docs.python.org/ja/3/library/index.html) sont installées avec vous et vous pouvez les utiliser à partir de Hy. Puisque Python est un langage avec une batterie intégrée, vous pouvez faire diverses choses avec juste la bibliothèque standard.
Si vous souhaitez utiliser un module tiers autre que la bibliothèque standard, installez-le dans l'environnement virtuel à l'aide de l'outil de gestion de packages [pip](https://docs.python.org/ja/3/installing/index.html). Je vais.
En gros, tous les modules Python fonctionnent (presque) sur Hy.
Bien sûr, les modules écrits en Hy fonctionneront s'ils sont de la même version (même si je les vois rarement ...).
Vous pouvez trouver des modules tiers pour Python sur [PyPI](https://pypi.org/).
Parfois, il y a des modules Python qui ne sont pas enregistrés avec PyPI, mais je vais vous montrer comment les installer plus tard (pour ceux gérés par le référentiel GitHub).
Vous pouvez également installer la bibliothèque de calcul scientifique Anaconda et gérer les modules avec `` conda```.
```pip```Il ne sera pas installé dans cet article car il peut endommager l'environnement lorsqu'il est utilisé en combinaison avec.
```Activer``` l'environnement virtuel et installer le module avec `` `pip install <nom du module>` ``.
Si vous voulez tout installer en même temps, écrivez requirements.txt avec les noms de modules séparés par des sauts de ligne et exécutez `` `` pip install -r requirements.txt ''. Par convention, il s'appelle requirements.txt, mais vous pouvez lui donner un autre nom.
#### **`requirements.txt`**
```text
hy
openpyxl
PySide2
Vous pouvez également spécifier une version spécifique.
requirements.txt
hy==0.17.0
openpyxl==3.0.2
PySide2==5.13.2
Si le module se trouve uniquement dans le référentiel GitHub
pip install git+https://github.com/hoge/fuga.git
Faire. Vous pouvez également l'inclure dans requirements.txt.
Si vous voulez voir une liste des modules tiers installés dans cet environnement, exécutez
pip freeze```.
pip freeze > requirements.Si vous l'écrivez comme txt, il sera plus facile de le récupérer même si l'environnement est corrompu.
## Editeur / IDE
Peu d'éditeurs / IDE ont encore des plugins Hy. Autant que je sache, il n'y en a que trois:
* 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)
# Comment faire un colis
Si vous souhaitez superposer vos propres applications et bibliothèques, la création d'un package facilite sa gestion.
hy ─┬─ hoge ─┬─ fuga ─┬─ init.hy . │ . └─ piyo │ └─ bar.hy │ ├─ init.hy . └─ foo.hy
Lorsque le répertoire `` hy '' est ajouté à la variable d'environnement [PYTHONPATH](https://docs.python.org/ja/3/using/cmdline.html#envvar-PYTHONPATH) dans la figure ci-dessus,
En mettant \ _ \ _ init \ _ \ _. Hy dans chaque répertoire sous hoge
#### **`example_import.hy`**
```hylang
(import hoge) ;;hoge__init__.hy est importé
(import hoge.foo)
(import hoge.fuga) ;; hoge/fuga__init__.hy est importé
(import hoge.fuga.bar)
Peut être écrit comme La structure de ce package est similaire à Python.
Tutoriel Python> 6. Modules> 6.4. Packages
pip```.
pip freeze``` pour l'assurance.Ayons une bonne vie Hy.