Seu script.py
provavelmente não pode acessar o config.py
, porque o diretório configetl
não está no PYTHONPATH de script.py
.
Você pode testar isso imprimindo a lista sys.path
no seu script.py
quando chamado do script process.sh
.
# Inside your script.py before calling any config functions
import sys
print(sys.path)
A saída deve ser semelhante a esta:
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/lib/python3.6/site-packages']
Para incluir o diretório configetl
em seu PYTHONPATH e torná-lo visível para o script.py
, você deve anexar o caminho à lista configetl
para o sys.path
:
# Inside your script.py before calling any config functions
import sys
sys.path.append('../')
Isso anexará todo o diretório de nível superior ao seu PYTHONPATH.
Se quiser adicionar apenas o diretório configetl
ao seu PYTHONPATH, você pode fazer:
# Inside your script.py before calling any config functions
import sys
sys.path.append('../configetl')
Isso exigirá pequenas mudanças na maneira como você importa o módulo config.py
.
Você terá que importá-lo diretamente, sem o nome do diretório pai, por exemplo,
from config import *
P.S. Usar o símbolo de estrela para importar tudo de um módulo python é considerado uma prática ruim. Você deve importar o módulo inteiro import config
ou listar os objetos que deseja importar desse módulo, por exemplo, from config import function_one, function_two