Closed fjuniorr closed 2 years ago
@fjuniorr, acredito que você já havia resolvido esse isso e só esqueceu de fechar, pois
PYTHONIOENCODING=UTF-8
:MINGW32 ~/projects/age7 (main)
$ make validate
During startup - Warning message:
Setting LC_CTYPE=C.UTF-8 failed
During startup - Warning message:
Setting LC_CTYPE=C.UTF-8 failed
During startup - Warning message:
Setting LC_CTYPE=C.UTF-8 failed
rsync --itemize-changes --checksum data/raw/* data/staging/ 2> logs/ingest.txt
>fcsT...... dm_acao.csv
>fcsT...... dm_alinea_rec.csv
>fcsT...... dm_cargo_scdp.csv
Sendo assim, vou fechar o issue.
Repositório dtamg-py já possui pacote python-dotenv
O pacote de fato é usado no arquivo utils.py
mas o erro ainda aconteceu. No dpckan essa mesma chamada é feita no __init__.py
.
Vale confirmar a diferença de comportamento entre os dois arquivos.
@fjuniorr, parei o código como sugerido e a variável de ambiente foi reconhecida:
ipdb> os.environ.get('PYTHONIOENCODING')
'UTF-8'
Pensei em mudarmos de estratégia para evitar essas confusões de conversões de encoding migrando a responsabilidade por gerar o arquivo do log/validate da própria função validate do dtamg-py e não mais do Makefile. Isso porque lá os problemas de encoding ficam mais fáceis de serem tratados.
Implementação neste PR #12 e neste PR do repositório age7.
A variável de ambiente
PYTHONIOENCODING=UTF-8
criada somente no.env
gerou o erroEm resumo, o json estava sendo criado com codificação windows-1252. Quando o log de validação teve acento, isso gerou o erro acima.
Depois que
PYTHONIOENCODING
foi criada diretamente como variável de ambiente no sistema o erro parou.