2016-05-13 2 views
1

Я пытаюсь запустить приложение kivy с помощью автозапуска на моей малиновой пи. После перезагрузки моей ОС он будет работать, но во время исполнения я столкнулся с проблемой кодирования на следующих строках кода:Ошибка кодирования при запуске приложения python с использованием автозапуска

CommonData.deviceSettings.Measurement.Alchogol = {} 
for s in alchogolSettings: 
    key = s["Name"].encode('utf-8').strip() 
    value = s["Value"].encode('utf-8').strip() 
    CommonData.deviceSettings.Measurement.Alchogol.update({key: value}) 

Следующая ошибка во время выполнения

«ASCII» кодек не может кодировать символы в позиции 0-14: порядковый не в диапазоне (128)

в верхней части моей .py установки файла I следующей инструкции:

#!/usr/bin/python 
    # -*- coding: utf8 -*- 

Самое интересное в этой ситуации, что, если я буду запускать эту программу от обычного терминала это запустить успешно, но когда я пытаюсь запустить его с помощью Autorun Это проблема возникает

Кто-нибудь знает, почему эта проблема возникает и как этого избежать?

+0

Дубликат: http://stackoverflow.com/questions/9942594/unicodeencodeerror-ascii-codec-cant-encode-character-u-xa0- in-position-20? rq = 1? –

+1

честно, я написал эти сообщения, но я думаю, что это не мое дело, потому что эта программа отлично работает, когда я запускаю ее с помощью ssh-клиента и не работает, когда она запускается с автозапуска – Tequila

+0

. Вы должны подумать об изменении своего названия, чтобы указать на это? Что вы видите разницу между терминалом и автозапуском? –

ответ

0

Я нашел причину этой проблемы. В моем случае я запускаю скрипт python, который является терминалом запуска, и запускает другой скрипт python. Последний скрипт печатает на терминал некоторый циррологический текст. Здесь и лежит проблема. После удаления этой инструкции печати я избегал этой ошибки. И эта инструкция печати была расположена на одной строке после кода, который я показал в этом сообщении

Смежные вопросы