J'utilise souvent Python pour créer des outils à usage personnel. Les outils que je crée sont généralement destinés à l'automatisation des tâches quotidiennes ou à des projets d'application ludiques.
Ce sont généralement de petits projets que je réalise en quelques jours et que je ne mets pas beaucoup à jour par la suite. Les considérations sont différentes pour les services plus importants et rendus publics, mais voici deux raisons pour lesquelles je choisis fréquemment Python pour le développement de petits outils.
Raison 1 : Python peut presque tout faire
Quand je veux accomplir quelque chose, Python dispose souvent déjà d'une bibliothèque pour cela. Voici quelques exemples de bibliothèques Python que j'ai utilisées pour des projets personnels.
Apprentissage automatique
- Python est probablement le langage le mieux équipé pour les bibliothèques d'apprentissage automatique.
- Bien que je ne forme pas souvent personnellement des modèles d'apprentissage en profondeur, j'utilise parfois scikit-learn ou XGBoost pour créer et appliquer des modèles.
Traitement d'images
- J'ai écrit des scripts pour gérer des photos personnelles.
- Des bibliothèques comme PIL (Python Imaging Library) et Pillow m'aident à récupérer des données Exif ou à redimensionner des images.
Grattage
- J'ai créé des outils pour vérifier périodiquement les informations sur certains sites Web.
- Vous pouvez utiliser des bibliothèques simples comme Requests, ou des bibliothèques plus complètes comme Scrapy pour rendre le scraping encore plus facile.
Trading de crypto-monnaie
- Une fois, j'ai voulu utiliser une API d'échange de crypto-monnaie.
- Grâce à la bibliothèque ccxt, qui permet d'utiliser les API de plus de 100 échanges avec une interface unifiée, j'ai pu réaliser ce que je voulais.
- Cela a été très utile de ne pas avoir à enquêter sur les spécifications API de chaque bourse et de pouvoir négocier avec une interface cohérente.
Applications Web
- Parfois, je souhaite contrôler les fonctionnalités ci-dessus via une interface graphique.
- Dans de tels cas, j'utilise souvent Django pour l'exécuter en tant qu'application Web.
- J'aime particulièrement Django car il fournit un panneau d'administration par défaut, ce qui facilite la gestion des paramètres et la vérification des données.
Raison 2 : il est peu coûteux de fonctionner dans le cloud
Étant donné que les outils personnels ne sont pas fréquemment utilisés, je souhaite maintenir les coûts faibles lors de leur exécution sur un serveur. Python est depuis longtemps pris en charge par les plateformes cloud gratuites, ce qui est une autre raison pour laquelle je le choisis pour le développement d'outils personnels.
Google App Engine (GAE)
- GAE propose un niveau gratuit dans son environnement standard.
- Comme il prend en charge Python depuis sa sortie en 2008, je l'ai souvent utilisé pour exécuter des outils personnels.
- Il est également pratique de pouvoir configurer des tâches cron pour une exécution planifiée via la console de gestion.
AWS Lambda
- AWS Lambda a été lancé en 2014 et Python est pris en charge depuis octobre 2015.
- Il propose également un niveau gratuit, donc j'utilise parfois des outils dessus de nos jours.
- L'utilisation du framework sans serveur offre une expérience fluide, du développement local au déploiement.
(Selon la situation, j'exécute également des outils sur EC2 ou Heroku.)
Plainte concernant le développement avec Python
Il y a certains aspects de Python que je trouve insatisfaisants. En particulier, la gestion des environnements et packages virtuels a tendance à être instable. Lorsque je vérifie après un certain temps, je constate souvent qu’une nouvelle méthode a été introduite ou qu’une ancienne méthode est obsolète. J'ai utilisé les outils suivants, mais il est facile de se perdre si vous ne comprenez pas comment les utiliser correctement. (Je ne sais pas quelles sont les meilleures pratiques actuelles.)
- virtuel
- venv
- pipenv
- pip-outils
- poésie
Conclusion
J'ai énuméré deux raisons pour lesquelles j'utilise souvent Python pour créer des outils personnels et j'ai ajouté une plainte pour faire bonne mesure. J'espère que cela a été utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!