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 module
Linguagem de código: Python ( python )
Python irá procurar o module.py
arquivo 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.path
variável que vem do sys
mó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-packages
Linguagem de código: Sessão Shell ( shell )
Para garantir que o Python sempre possa encontrar o module.py
, você precisa:
- Coloque
module.py
na pasta onde o programa será executado. - Inclua a pasta que contém na
module.py
variávelPYTHONPATH
de ambiente. Ou você pode colocarmodule.py
em uma das pastas incluídas naPYTHONPATH
variável. - Coloque-o
module.py
em 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.path
variá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:\modules
ao caminho de pesquisa e usa o recruitment
mó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.path
variável. - Python permite modificar o caminho de pesquisa do módulo alterando, adicionando e removendo elementos da
sys.path
variável.