Caminho de pesquisa do módulo Python

Resumo : neste tutorial, você aprenderá como funciona o caminho de pesquisa do módulo em Python quando você importa um módulo para um programa.

Introdução ao caminho de pesquisa do módulo Python

Ao importar um módulo em um programa:

import moduleLinguagem de código:  Python  ( python )

Python irá procurar o module.pyarquivo nas seguintes fontes:

  • A pasta atual a partir da qual o programa é executado.
  • Uma lista de pastas especificadas na variável de ambiente PYTHONPATH , se você a tiver definido antes.
  • Uma lista de pastas dependente da instalação que você configurou quando instalou o Python.

Python armazena o caminho de pesquisa resultante na sys.pathvariável que vem do sysmódulo.

O programa a seguir mostra o caminho de pesquisa do módulo atual:

import sys

for path in sys.path:
    print(path)
Linguagem de código:  Python  ( python )

Aqui está um exemplo de saída no Windows:

D:\Python\
C:\Program Files\Python38\python38.zip
C:\Program Files\Python38\DLLs
C:\Program Files\Python38\lib
C:\Program Files\Python38
C:\Users\PythonTutorial\AppData\Roaming\Python\Python38\site-packages
C:\Program Files\Python38\lib\site-packages 
Linguagem de código:  Sessão Shell  ( shell )

E o seguinte é o exemplo de saída no Linux:

/Library/Frameworks/Python.framework/Versions/3.8/bin
/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip 
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.8/site-packagesLinguagem de código:  Sessão Shell  ( shell )

Para garantir que o Python sempre possa encontrar o module.py, você precisa:

  • Coloque module.pyna pasta onde o programa será executado.
  • Inclua a pasta que contém na module.pyvariável PYTHONPATHde ambiente. Ou você pode colocar module.pyem uma das pastas incluídas na PYTHONPATHvariável.
  • Coloque-o module.pyem uma das pastas dependentes da instalação.

Modificando o caminho de pesquisa do módulo Python em tempo de execução

Python permite modificar o caminho de pesquisa do módulo em tempo de execução, modificando a sys.pathvariável. Isso permite armazenar arquivos de módulo em qualquer pasta de sua escolha.

Como sys.pathé uma lista, você pode anexar um caminho de pesquisa a ela.

O exemplo a seguir adiciona d:\modulesao caminho de pesquisa e usa o recruitmentmódulo armazenado nesta pasta:

>>> import sys
>>> sys.path.append('d:\\modules\\')
>>> import recruitment
>>> recruitment.hire()
Hire a new employee...Linguagem de código:  JavaScript  ( javascript )

Resumo

  • Quando você importa um módulo, o Python irá procurar o arquivo do módulo nas pastas especificadas na sys.pathvariável.
  • Python permite modificar o caminho de pesquisa do módulo alterando, adicionando e removendo elementos da sys.pathvariável.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *