Comment le « sys.path » de Python est-il initialisé ?

Susan Sarandon
Libérer: 2024-10-30 09:42:27
original
596 Les gens l'ont consulté

How is Python's `sys.path` Initialized?

D'où est initialisé le sys.path de Python ?

Python élabore méticuleusement sys.path pour fournir un chemin de recherche robuste pour les modules et les packages. Le processus d'initialisation implique diverses étapes et considérations.

Étapes pour déterminer sys.path :

  1. Déterminer sys.executable : Python identifie son chemin absolu depuis le système d'exploitation. Ce chemin devient sys.executable.
  2. Établissez sys.exec_prefix et sys.prefix :

    • Vérifiez pyvenv.cfg dans le même ou le parent répertoire de sys.executable.
    • Utilisez la valeur d'accueil configurée ou le répertoire de sys.executable comme sys.prefix.
    • Examinez la variable d'environnement PYTHONHOME.
    • Recherchez un point de repère fichiers (par exemple, lib/python/os.py) pour déterminer sys.exec_prefix et sys.prefix.
  3. Configurer sys.path :

    • Ajoutez le répertoire de script à sys.path (sous Linux/Mac).
    • Incluez le contenu de PYTHONPATH.
    • Ajoutez le fichier zip Python.
    • Inclure les chemins des clés de registre pertinentes (Windows uniquement, sauf si applocal = true dans pyvenv.cfg).
  4. Au moment de la compilation et valeurs dynamiques :

    • Ajoutez les chemins spécifiés dans la macro PYTHONPATH (par rapport à sys.prefix).
    • Incluez le répertoire sys.exec_prefix (sous Linux/Mac) ou sys.prefix (sous Windows ).
  5. Détermination du préfixe de secours :

    • Si sys.prefix n'a pas pu être déterminé, recherchez-le dynamiquement dans sys.path.
  6. Importation du package de site :

    • Importez le module de site, qui remplit davantage sys.path en fonction sur sys.prefix et sys.exec_prefix.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal