Table des matières
Pourquoi avez-vous besoin d'utiliser un environnement virtuel?
Comment créer et gérer des environnements virtuels?
Comment gérer les dépendances?
Malentendus et suggestions courantes
Maison développement back-end Tutoriel Python Gestion des dépendances et des environnements virtuels dans Python

Gestion des dépendances et des environnements virtuels dans Python

Jul 06, 2025 am 02:54 AM

L'utilisation d'un environnement virtuel peut résoudre les problèmes de conflit de dépendance dans les projets Python. Étant donné que l'installation de packages directement dans l'environnement système peut facilement conduire à la dépendance et aux combats entre différents projets, tels que les Django 3.2 et 4.2, sont incompatibles, et la mise à niveau de la bibliothèque peut entraîner des erreurs dans l'ancien code. Les pratiques courantes pour la création d'environnements virtuels sont: 1. Utilisez le module VENV pour créer un environnement, tel que Python -M Venv .Venv; 2. Activer l'environnement, utiliser la source .venv / bin / activer pour macOS / Linux et utiliser .venv \ scripts \ activer pour Windows. Les méthodes de gestion des dépendances incluent: 1. Utilisez PIP Freeze> exigences.txt pour enregistrer les dépendances et reproduire PIP Install -r exigences.txt; 2. Évitez d'ajouter des outils de débogage aux dépendances formelles et utilisez la liste PIP - Explicite pour générer une liste propre; 3. Utilisez PipFile ou Poésie pour des projets complexes. Remarques: 1. Le répertoire de l'environnement virtuel doit être ajouté à .gitignore et ne sera pas soumis au référentiel GIT; 2. Le document indique la différence de version Python; 3. Utilisez régulièrement PIP List - Outdated pour mettre à jour les dépendances; 4. Vous pouvez supprimer et recommencer lorsque l'environnement est chaotique. Il est recommandé de développer l'habitude d'utiliser des environnements virtuels et une gestion standardisée des dépendances pour éviter de se précipiter dans les pièges au stade ultérieur.

Gestion des dépendances et des environnements virtuels dans Python

Dans le développement de projets Python, la gestion des dépendances et les environnements virtuels sont presque des opérations standard. Beaucoup de gens peuvent ne pas s'en soucier lorsqu'ils ont commencé à écrire du code. Ils n'ont pas constaté que le problème se pose lorsqu'ils ont rencontré différents projets qui nécessitent différentes versions de bibliothèques ou même différentes versions de Python. Ce n'est qu'alors que vous réalisez: il est temps de prendre au sérieux la dépendance et l'environnement virtuel.

Gestion des dépendances et des environnements virtuels dans Python

Pourquoi avez-vous besoin d'utiliser un environnement virtuel?

Si vous installez divers packages directement dans l'environnement système, il est facile de lutter contre les dépendances entre différents projets sur une longue période. Par exemple, Project A utilise Django 3.2, Project B utilise Django 4.2. Que dois-je faire si certaines de ces deux versions sont incompatibles? Ou après avoir mis à niveau une bibliothèque, le code que vous pouvez exécuter avant de signaler soudainement une erreur.

Gestion des dépendances et des environnements virtuels dans Python

La solution consiste à utiliser un environnement virtuel . Il équivaut à créer un petit espace indépendant pour chaque projet. Les packages sont installés et les versions installées n'affecteront pas d'autres projets.

Pratiques courantes:

Gestion des dépendances et des environnements virtuels dans Python
  • Chaque projet correspond à un environnement virtuel
  • Créer un environnement à l'aide de venv ou virtualenv
  • Ne mettez pas tout dans l'environnement mondial

Comment créer et gérer des environnements virtuels?

Le module venv de Python est la méthode la plus élémentaire. Par exemple, si vous souhaitez créer un environnement virtuel appelé .venv dans le répertoire du projet, vous pouvez le faire comme ceci:

 Python -M Venv .venv

Puis activez-le, sur macOS / Linux est:

 source .venv / bin / activer

Windows est:

 .venv \ scripts \ activer

Après l'activation, vous voyez qu'il y aura des supports supplémentaires devant la ligne de commande, indiquant que les packages que vous chargez maintenant seront chargés dans cet environnement virtuel.

Conseils: Si vous utilisez des IDE tels que PyCharm et VS Code, ils vous aideront généralement à créer et à activer l'environnement virtuel pour vous sauver des opérations manuelles.


Comment gérer les dépendances?

Lorsque vous avez chargé beaucoup de packages dans un projet, comment pouvez-vous les enregistrer et faciliter les autres pour les reproduire? La réponse est requirements.txt .

Commandes couramment utilisées:

  • pip freeze > requirements.txt : Enregistrez tous les packages et versions dans l'environnement actuel
  • pip install -r requirements.txt : réinstaller les dépendances en fonction de ce fichier

Mais une chose à noter: n'utilisez pas pip freeze pour exporter les dépendances dans l'environnement de production . Parce que parfois, vous porterez temporairement des outils de débogage, ce qui ne devrait pas apparaître dans la dépendance officielle. Le moyen le plus recommandé est d'utiliser pip install pour énumérer manuellement les packages dont vous avez vraiment besoin, puis d'utiliser pip list --explicit pour générer une liste propre.

De plus, certains projets ont commencé à utiliser Pipfile et poetry pour gérer les dépendances, qui est un gameplay avancé et convient aux projets complexes. Si vous écrivez simplement un petit script, requirements.txt sont les plus faciles et les plus pratiques.


Malentendus et suggestions courantes

  1. Ne soumettez pas l'environnement virtuel au référentiel GIT Le répertoire de l'environnement virtuel (tel que .venv ) doit être ajouté .gitignore . Une fois que d'autres ont obtenu votre code, ils peuvent simplement créer un environnement par eux-mêmes. Il n'est pas nécessaire d'apporter un tas de fichiers binaires.

  2. Notez les différences dans les versions Python Si vous utilisez Python 3.8 et qu'il n'y a que 3,9 sur les machines d'autres personnes, certaines bibliothèques peuvent avoir des problèmes. Vous pouvez ajouter un runtime.txt au projet ou indiquer la version recommandée dans le document.

  3. Mettre à jour régulièrement les dépendances Certains packages qui ne sont pas mis à jour depuis longtemps peuvent avoir des vulnérabilités de sécurité. Vous pouvez utiliser pip list --outdated à voir s'il existe des packages qui peuvent être mis à niveau.

  4. N'ayez pas peur de le supprimer et de le refaire L'environnement virtuel est-il cassé ou gâché? Supprimez simplement .venv Venuez-le et recréez-le sans aucune inquiétude.


Fondamentalement, c'est tout. L'environnement virtuel et la gestion des dépendances ne semblent pas être un problème, mais une fois ignorés, la possibilité de pénétrer dans un piège à l'étape ultérieure sera beaucoup plus élevée. Il n'est en fait pas gênant à utiliser, la clé est de développer des habitudes.

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

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 !

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 PHP
1543
276
Blockbuster Python terminé Affichage de l'entrée Python Collection de site Web fini gratuit Blockbuster Python terminé Affichage de l'entrée Python Collection de site Web fini gratuit Jul 23, 2025 pm 12:36 PM

Cet article a sélectionné plusieurs sites Web de projet "finis" Python et des portails de ressources d'apprentissage "Blockbuster" de haut niveau pour vous. Que vous recherchiez l'inspiration de développement, l'observation et l'apprentissage du code source au niveau de la maîtrise ou que vous amélioriez systématiquement vos capacités pratiques, ces plateformes ne sont pas manquées et peuvent vous aider à devenir un maître Python rapidement.

Exemple de commande de Shell Run Shell Exemple de commande de Shell Run Shell Jul 26, 2025 am 07:50 AM

Utilisez Sub-Process.run () pour exécuter en toute sécurité les commandes de shell et la sortie de capture. Il est recommandé de transmettre des paramètres dans les listes pour éviter les risques d'injection; 2. Lorsque les caractéristiques du shell sont nécessaires, vous pouvez définir Shell = True, mais méfiez-vous de l'injection de commande; 3. Utilisez un sous-processus.popen pour réaliser le traitement de sortie en temps réel; 4. SET CHECK = TRUE pour lancer des exceptions lorsque la commande échoue; 5. Vous pouvez appeler directement des chaînes pour obtenir la sortie dans un scénario simple; Vous devez donner la priorité à Sub-Process.run () dans la vie quotidienne pour éviter d'utiliser OS.System () ou les modules obsolètes. Les méthodes ci-dessus remplacent l'utilisation du noyau de l'exécution des commandes shell dans Python.

Python Seaborn JointPlot Exemple Python Seaborn JointPlot Exemple Jul 26, 2025 am 08:11 AM

Utilisez le plot conjoint de Seaborn pour visualiser rapidement la relation et la distribution entre deux variables; 2. Le tracé de diffusion de base est implémenté par sn.jointplot (data = pointes, x = "total_bill", y = "Tip", kind = "dispers"), le centre est un tracé de dispersion et l'histogramme est affiché sur les côtés supérieur et inférieur et droit; 3. Ajouter des lignes de régression et des informations de densité à un kind = "reg" et combiner marginal_kws pour définir le style de tracé de bord; 4. Lorsque le volume de données est important, il est recommandé d'utiliser "Hex"

Python Httpx Async Client Exemple Python Httpx Async Client Exemple Jul 29, 2025 am 01:08 AM

Utilisez httpx.asyncclient pour initier efficacement les demandes HTTP asynchrones. 1. 2. Combiner asyncio.gather à se combiner avec Asyncio.gather peut considérablement améliorer les performances, et le temps total est égal à la demande la plus lente; 3. Prise en charge des en-têtes personnalisés, des paramètres d'authentification, de base_url et de délai d'expiration; 4. Peut envoyer des demandes de poste et transporter des données JSON; 5. Faites attention pour éviter de mélanger le code asynchrone synchrone. Le support proxy doit prêter attention à la compatibilité back-end, ce qui convient aux robots ou à l'agrégation API et à d'autres scénarios.

Python List to String Conversion Exemple Python List to String Conversion Exemple Jul 26, 2025 am 08:00 AM

Les listes de chaînes peuvent être fusionnées avec la méthode join (), telles que '' .join (mots) pour obtenir "HelloworldFrompython"; 2. Les listes de nombres doivent être converties en chaînes avec MAP (STR, nombres) ou [STR (x) Forxinnumbers] avant de rejoindre; 3. Toute liste de types peut être directement convertie en chaînes avec des supports et des devis, adaptées au débogage; 4. Les formats personnalisés peuvent être implémentés par des expressions de générateur combinées avec join (), telles que '|' .join (f "[{item}]" ForIteminitems)

Optimisation de Python pour les opérations liées à la mémoire Optimisation de Python pour les opérations liées à la mémoire Jul 28, 2025 am 03:22 AM

PythonCanBeoptimizedFormemory-Boundoperations AdreductoverHeadHroughGenerators, EfficientDatastructures et ManagingObjectliFetimes.first, useGeneratorsInSteadofListStoproceSlargedataseSeItematatime, EvitingLoadingEnteryToMeToMeMory.

Python Connexion à SQL Server PyoDBC Exemple Python Connexion à SQL Server PyoDBC Exemple Jul 30, 2025 am 02:53 AM

Installez PYODBC: utilisez la commande PiPInstallpyodbc pour installer la bibliothèque; 2. Connectez SQLServer: utilisez la chaîne de connexion contenant le pilote, le serveur, la base de données, l'UID / PWD ou TrustEd_Connection via la méthode pyoDBC.Connect () et prendre en charge l'authentification SQL ou l'authentification Windows respectivement; 3. Vérifiez le pilote installé: exécutez pyodbc.Drivers () et filtrez le nom du pilote contenant «SQLServer» pour vous assurer que le nom du pilote correct est utilisé tel que «ODBCDriver17 pour SQLServer»; 4. Paramètres clés de la chaîne de connexion

Python Shutil rmtree Exemple Python Shutil rmtree Exemple Aug 01, 2025 am 05:47 AM

ShutLil.rmtree () est une fonction de Python qui supprime récursivement l'intégralité de l'arborescence du répertoire. Il peut supprimer les dossiers spécifiés et tous les contenus. 1. Utilisation de base: utilisez ShutLil.rmtree (Path) pour supprimer le répertoire, et vous devez gérer FileLenotFoundError, PermissionError et autres exceptions. 2. Application pratique: vous pouvez effacer les dossiers contenant des sous-répertoires et des fichiers en un seul clic, tels que des données temporaires ou des répertoires mis en cache. 3. Remarques: L'opération de suppression n'est pas restaurée; FilenotFoundError est lancé lorsque le chemin n'existe pas; Il peut échouer en raison d'autorisations ou d'occupation des fichiers. 4. Paramètres facultatifs: les erreurs peuvent être ignorées par ignore_errors = true

See all articles