Table des matières
Qu'est-ce qu'un sac ?
Créer un package Python
Progiciels tiers
Chemin de recherche
Explorez la bibliothèque standard
PyPI
浏览 PyPI
安装软件包
最佳实践
结论
Maison développement back-end Tutoriel Python Explorez l'utilisation des packages Python

Explorez l'utilisation des packages Python

Sep 02, 2023 pm 12:25 PM

探索 Python 包的使用

Les packages Python vous permettent de diviser de grands systèmes et d'organiser leurs modules de manière cohérente afin que vous et d'autres puissiez les utiliser et les réutiliser efficacement. La devise de Python « batterie intégrée » signifie qu'il est préinstallé avec de nombreux packages utiles dans la bibliothèque standard.

Mais vous pouvez également profiter de nombreux logiciels tiers incroyables. Dans ce didacticiel, vous apprendrez tout ce que vous devez savoir sur ce qu'est exactement un package, comment importer des modules à partir d'un package, explorer les packages intégrés dans la bibliothèque standard Python et installer des packages tiers.

Qu'est-ce qu'un sac ?

Avant de discuter des packages, parlons d’abord des modules. Les modules sont des fichiers sources avec l'extension *.py dans lesquels vous (et d'autres) placez les fonctions et les classes qui composent votre programme.

Un package en Python n'est qu'un dossier contenant plusieurs fichiers Python, et il devrait y avoir un __init__.py 文件。 __init__.py 文件表明该目录是一个包。 __init__.py fichier qui peut être vide ou contenir du code exécutable.

Les packages sont l'incarnation du concept d'espace de noms hiérarchique de Python. Citant le Zen de Python :

"Les espaces de noms sont une excellente idée - faisons-en davantage !"

Pour visualiser l'intégralité de Python Zen, entrez import this dans une session interactive Python :

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>> 
Copier après la connexion

Les espaces de noms aident à organiser le code et à éviter les conflits de noms. Ceci est crucial lorsque plusieurs personnes travaillent ensemble ou utilisent des packages développés par d’autres.

Bien qu'un package représente une hiérarchie de sous-packages et de modules (qui sont des fichiers), la hiérarchie ne doit pas nécessairement être basée sur un système de fichiers, où les packages et les sous-packages sont des répertoires et sous-répertoires. C'est beaucoup plus flexible que ça.

Créer un package Python

Commençons par un exemple simple. Ci-dessous, nous avons un package appelé simple_package qui contient deux modules Python.

simple_package
.
├── __init__.py
├── tasks.py
└── views.py

0 directories, 3 files
Copier après la connexion
  • __init__.py : indique qu'il s'agit d'un package
  • tasks.py et views.py sont des modules

Progiciels tiers

Jetons un coup d'œil au package appelé ansible. Ce n'est pas un package dans la bibliothèque standard. Vous verrez plus tard comment rechercher et installer des packages tiers. Examinons maintenant la structure des fichiers de répertoires.

Ces packages sont généralement installés dans le répertoire site-packages de l'interpréteur Python, quelque part sous lib (selon la version, le système d'exploitation et la distribution).

Par exemple, sur un Mac, Python 3.10 se trouvera dans /lib/python3.10/site-packages. Voici comment le package ansible est organisé :

tree ansible -L 1
ansible
├── cli
├── collections
├── compat
├── config
├── constants.py
├── context.py
├── errors
├── executor
├── galaxy
├── __init__.py
├── inventory
├── keyword_desc.yml
├── __main__.py
├── modules
├── module_utils
├── parsing
├── playbook
├── plugins
├── __pycache__
├── release.py
├── template
├── utils
├── vars
└── _vendor

18 directories, 6 files
Copier après la connexion

Il y a 6 modules et 18 répertoires. Chaque répertoire est un sous-paquet du package ansible principal. En regardant le répertoire ansible/utils, on voit qu'il contient d'autres modules et même un sous-package :

tree ansible/utils -L 1
ansible/utils
├── cmd_functions.py
├── collection_loader
├── color.py
├── context_objects.py
├── display.py
├── encrypt.py
├── fqcn.py
├── galaxy.py
├── hashing.py
├── helpers.py
├── __init__.py
├── jsonrpc.py
├── _junit_xml.py
├── listify.py
├── lock.py
├── multiprocessing.py
├── native_jinja.py
├── path.py
├── plugin_docs.py
├── py3compat.py
├── sentinel.py
├── shlex.py
├── singleton.py
├── ssh_functions.py
├── unicode.py
├── unsafe_proxy.py
├── vars.py
└── version.py

1 directory, 27 files

Copier après la connexion

Chemin de recherche

Lorsque vous importez un module, Python effectuera un algorithme de recherche basé sur le chemin de recherche, qui est la liste des répertoires dans lesquels lancer la recherche. Un chemin de recherche est une liste de répertoires disponibles via sys.path et vous pouvez le manipuler dynamiquement (ajouter, supprimer ou déplacer des éléments dans le chemin de recherche). Le répertoire site-packages existe toujours.

Pour importer le module path.py depuis ansible/utils vous devez utiliser la commande suivante :

import ansible.utils.path
Copier après la connexion

Pour importer le module pathencrypt, utilisez la commande suivante :

import ansible.utils.path
import ansible.utils.encrypt
Copier après la connexion

Si vous souhaitez également utiliser le module os.path standard, vous utiliserez la commande suivante :

import os.path
Copier après la connexion

Vous pouvez désormais utiliser l'un ou les deux modules de chemin sans entrer en conflit en raison de l'espace de noms auquel ils appartiennent.

Explorez la bibliothèque standard

La bibliothèque standard contient de nombreux packages. Chaque fois que vous devez accomplir une tâche mais que vous ne savez pas comment procéder, cela vaut la peine de l'explorer. Pour toute tâche courante, telle que les mathématiques, l'intégration du shell, l'intégration du système d'exploitation, la manipulation de chaînes, la mise en réseau et les formats de fichiers courants, il existe très probablement un package bien conçu, performant et bien testé dans la bibliothèque standard

.

Vous pouvez vraiment faire confiance aux packages de bibliothèque standard, car accéder à la bibliothèque standard est un gros problème. Le package a été conçu par les principaux développeurs Python ou a été soigneusement vérifié et largement utilisé sur le terrain en tant que bibliothèque tierce avant d'être intégré à la bibliothèque standard.

Voici tous les packages de la bibliothèque standard organisés par thème.

PyPI

La bibliothèque standard est excellente, mais vous avez souvent besoin de fonctionnalités spéciales qui ne sont pas standard. Cela ne signifie pas que vous devez l'écrire à partir de zéro. Python possède une communauté dynamique et active qui développe et partage gratuitement de nombreux codes. Entrez PyPI : l'index des packages Python. PyPI héberge tous les progiciels accessibles au public et fournit un guichet unique pour les parcourir.

浏览 PyPI

PyPI 将包组织在可浏览的索引中。您可以按主题、环境、框架、开发、状态、目标受众、许可证、自然语言、编程语言(是的,有支持多种编程语言的 Python 包)和操作系统来浏览和搜索。

截至 2021 年,PyPI 不再显示软件包的下载统计信息,因为维护统计信息所需的资源导致其效率低下。

安装软件包

有两种方法可以从 PyPI 安装软件包。您可以下载该软件包,然后运行 ​​python setup.py install。但现代的方法是使用 pip、setuptools 和wheel。

从 Python 3.4 和 Python 2.79 开始默认包含 Pip 和 setuptools,但您需要升级到最新版本:

  • Linux/macOS:pip install -U pip setuptools
  • Windows:python -m pip install -U pip setuptools
但是,不再支持 Python 2,因此您应该已经使用 Python 3.0 或更高版本来提高性能。

使用pip安装wheel:

pip install wheel.
Copier après la connexion

要使用 pip 安装软件包,请发出此命令。

pip install <package_name>
Copier après la connexion

其中 package_name 是包的名称。例如,要安装 Ansible,命令如下所示:

pip install ansible
Copier après la connexion

如果需要特定版本,也可以指定如下:

pip install ansible==7.0
Copier après la connexion

Python 包始终安装到环境中。我在这里不会介绍的一种常见做法是使用虚拟环境来管理具有不同解释器和/或不同安装包集的多个独立的 Python 安装。您可以在此处阅读有关虚拟环境的更多信息。

最佳实践

Python 打包权威提供了大量有关打包最佳实践的指导。这很重要,因为这是一个正在积极开发的领域,并且建议会快速发展。

此外,如果您想做一些特别的事情,例如从替代存储库而不是 PyPI 安装软件包或以更复杂的方式使用 pip,您会发现精彩的讨论和实用的建议。

结论

当您是 Python 初学者时,您会学习核心语言并享受使用它的乐趣。很快您就会发现标准库,并且随着您获得更多经验,您会从它的丰富性中受益越来越多。

作为 Pythonista,您发展的下一阶段是将 Python 社区在 PyPI 上带来的巨大优势融入到您的系统中。包作为可重用 Python 代码的部署单元使这个生态系统得以实现。

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Dead Rails - Comment apprivoiser les loups
4 Il y a quelques semaines By DDD
Niveaux de force pour chaque ennemi et monstre de R.E.P.O.
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
2 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1658
14
Tutoriel PHP
1257
29
Tutoriel C#
1231
24
Python vs C: applications et cas d'utilisation comparés Python vs C: applications et cas d'utilisation comparés Apr 12, 2025 am 12:01 AM

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Le plan Python de 2 heures: une approche réaliste Le plan Python de 2 heures: une approche réaliste Apr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python: jeux, GUIS, et plus Python: jeux, GUIS, et plus Apr 13, 2025 am 12:14 AM

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

Combien de python pouvez-vous apprendre en 2 heures? Combien de python pouvez-vous apprendre en 2 heures? Apr 09, 2025 pm 04:33 PM

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Python vs C: courbes d'apprentissage et facilité d'utilisation Python vs C: courbes d'apprentissage et facilité d'utilisation Apr 19, 2025 am 12:20 AM

Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

Python et temps: tirer le meilleur parti de votre temps d'étude Python et temps: tirer le meilleur parti de votre temps d'étude Apr 14, 2025 am 12:02 AM

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Python: Explorer ses applications principales Python: Explorer ses applications principales Apr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Python: automatisation, script et gestion des tâches Python: automatisation, script et gestion des tâches Apr 16, 2025 am 12:14 AM

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.

See all articles