Construire un environnement Hy pour Lisper qui n'a pas touché Python

Cet article est l'article du 15e jour du Calendrier de l'Avent Lisp 2019.

Résumé de cet article

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.

Public cible

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.

Environnement

Installez Python

Pour Windows 10

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.

2019-12-10_22h14_25.png

Pour MacOS

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

Résumé

Ayons une bonne vie Hy.

Recommended Posts

Construire un environnement Hy pour Lisper qui n'a pas touché Python
[Mac] Création d'un environnement virtuel pour Python
Créer un environnement de développement Python pour le développement de l'IA
Construire un environnement virtuel Python
Construire un environnement virtuel Python
Écrire sur la création d'un environnement Python pour l'écriture de Qiita Qiita
Création d'un environnement de travail Docker R et Python
Procédure de création d'un environnement CDK sous Windows (Python)
Construction d'environnement Python pour les débutants en programmation (Mac OS)
Mémo de construction d'environnement d'apprentissage automatique par Python
Construire un environnement Python sur Mac
Construire un environnement python pour l'intelligence artificielle (Chainer / TensorFlow / CSLAIER)
Construire un environnement Python sur Ubuntu
Créer un environnement virtuel avec Python 3
[Python] Création d'un environnement Python virtuel pour le didacticiel sur la pyramide (résumé)
Création de l'environnement de travail Docker R et Python 2: prise en charge du japonais
Que diriez-vous d'Anaconda pour créer un environnement d'apprentissage automatique avec Python?
Création d'un environnement Windows 7 pour une introduction à l'apprentissage automatique avec Python
De la création d'un environnement Python pour les personnes inexpérimentées à Hello world
[Pyenv] Construire un environnement python avec ubuntu 16.04
Créons un environnement virtuel pour Python
Création d'un environnement Python 3.6 avec Windows + PowerShell
Construire un environnement conda pour les utilisateurs de ROS
Une procédure de création d'environnement moderne pour ceux qui veulent se lancer immédiatement avec Python
Création d'un environnement virtuel pour Mayavi dédié aux utilisateurs de Python 3.6, Anaconda et Spyder
Selenium + WebDriver (Chrome) + Python | Création d'un environnement pour le scraping
Créer un environnement pour exécuter des scripts Python (pour Mac)
Construire un environnement Anaconda pour Python avec pyenv
[Python] Préparation au développement Web (création d'un environnement virtuel)
Pensez à créer un environnement Python 3 dans un environnement Mac
Commandes pour créer un environnement python3 avec virtualenv
Procédure de création d'un environnement d'isolation Python (environnement venv)
Notes sur la création d'un environnement python par les débutants
Construire un environnement Python sur le serveur Sakura VPS
Créer un environnement Python
Maintenance de l'environnement Python pour les projets
Recommandation de construction d'un environnement Python portable avec conda
Création d'un environnement de formation pour les tests de pénétration à l'aide de Naumachia
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Créer un environnement pour le traitement du langage naturel avec Python
Remarque conda: Création d'un environnement Python avec Spacon ITO
Construire un environnement Python sur un Mac, jusqu'au point d'utiliser Jupyter Lab
Résumé de la construction de Python 3.4. * De la source à la création d'un environnement informatique scientifique
[Note] Liste des commandes de base pour la construction d'un environnement python / conda
Le mémo le plus court pour créer un environnement python qui prend moins de 5 minutes pour fonctionner.
Construction de l'environnement Python pour Mac
Construction de l'environnement Python3 (pour les débutants)
[Pour organiser] Environnement de développement Python
Créer un environnement Python hors ligne
Précautions à prendre lors de la construction d'un environnement PYTHON
Créer un environnement virtuel pour python sur mac [Très facile]
Créez un environnement python sur CentOS 7.7 pour votre serveur domestique
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Créer un environnement d'exécution Windows Python avec VScode + Remote WSL
Créer et tester un environnement CI pour plusieurs versions de Python
Créer un environnement de développement local pour Lambda + Python à l'aide de Serverless Framework
Créer un environnement Python pour ceux qui veulent devenir des data scientists 2016