Importação por diretórios em Python

DsgBraga

Membro
Olá, já em alguns projetos escritos em Python 3 tive a necessidade de importar módulos ou pacotes que estam em diretórios específicos e que não é muito fácil (ou possível) de se importar usando o "from pasta import módulo".
Então surgiu-me a dúvida de se seria possível fazer esta importação tal como por exemplo na Linguagem C onde se pode passar o diretorio:

Código:
#include <C://o_diretorio_do_pacote>
 
Olá. Não é boa prática importares pacotes usando directorias. Para ser mais correto, o primeiro passo deverá sempre criar todos os pacotes (normalmente basta incluir ficheiro __init__.py, podendo este ser vazio). Depois de ter os pacotes todos prontos, todo o projeto deve ser instalado no teu ambiente de trabalho, criando o script setup.py (podes ver os repositórios no github ou fazer um pequeno tutorial). Depois de criar o setup.py, instalas o teu projeto com o comando "pip install setup.py" ou "pip install ." (tens de ter o pip instalado). Assim, não tens necessidade de usar caminhos para fazer import de pacotes que se encontrem noutras pastas, pois todos os pacotes são partilhados e são conhecidos dentro do ambiente instalado do teu projeto.

Caso contrário, tens o Google à tua disposição para encontrar outras soluções, que não são diretas, pois como já referi não é a maneira correta de fazer as coisas.
 

Neste artigo os módulos/pacotes são importados com "from x import y" substituindo as "/" por ".".

Então eu necessitava de ir para o diretório anterior. Usei um ponto mas ele manteve-se no mesmo diretorio, usei dois pontos e deu o erro:

Código:
ValueError: attempted relative import beyond top-level package

Mesmo resolvendo esse erro que me aparece eu gostaria de conseguir fazer a importação pelo diretório especifico -> "/media/darguima/Disco Local/Dev/Python/Nome_de_Projeto" -> pasta onde eu tenho o projeto.

Olá. Não é boa prática importares pacotes usando directorias. Para ser mais correto, o primeiro passo deverá sempre criar todos os pacotes (normalmente basta incluir ficheiro __init__.py, podendo este ser vazio). Depois de ter os pacotes todos prontos, todo o projeto deve ser instalado no teu ambiente de trabalho, criando o script setup.py (podes ver os repositórios no github ou fazer um pequeno tutorial). Depois de criar o setup.py, instalas o teu projeto com o comando "pip install setup.py" ou "pip install ." (tens de ter o pip instalado). Assim, não tens necessidade de usar caminhos para fazer import de pacotes que se encontrem noutras pastas, pois todos os pacotes são partilhados e são conhecidos dentro do ambiente instalado do teu projeto.

Caso contrário, tens o Google à tua disposição para encontrar outras soluções, que não são diretas, pois como já referi não é a maneira correta de fazer as coisas.

Sim eu sei que não é a melhor prática e eu também não pretendo estar sempre a usar, é para dois casos onde a única solução parece me ser essa. Quanto ao caso de usar o "pip" não sabia dessa função mas neste caso não irá funcionar. Mesmo assim obrigado pela dica
 
Back
Topo