Мой скрипт на питоне работает очень хорошо, когда я запускаю его в режиме консоли .Это написать HTML-файл, конвертировать с pdfkit в PDF и отправить письмо.Все в порядке.
Но, когда этот скрипт запускается из crontab, возникает какая-то ошибка кодирования .
if len(html) > 0:
with open(file_html_to_pdf, 'w') as file:
message = '[PDF] >> writing the html file "{0}"'.format(file_html_to_pdf)
logging.info(message)
print(message)
file.write(html)
else:
raise IOError('html file is invalid !')
В crontab я сделал это:
# VARIABLES FOR PYTHON
PYTHONIOENCODING=utf8
*/5 * * * * /home/users/my-user/my-project/env/bin/python /home/users/my-user/my-project/cronjob.py > /var/log/apps/my-project/cron_error_my-project.log 2>&1
А в bashrc:
# set locale utf-8 in french.....et voilà
export PYTHONIOENCODING=utf-8
export LC_ALL=fr_FR.utf-8
export LANG="$LC_ALL"
Сообщение об ошибке:
UnicodeEncodeError: 'ascii' codec can't encode character '\xf4' in position 37: ordinal not in range(128)
...
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 400: ordinal not in range(128)
...
Message: ('<!> Error => ', UnicodeEncodeError('ascii', '<!DOCTYPE html>\n<head>\n <title>---
Python версия:
$ /home/users/my-user/my-project/env/bin/python --version
Python 3.4.2
Донне понимаю почему :(. Кто-нибудь может мне помочь?
Спасибо
F.