Depois de algum tempo conversando com o cartaz na sala de bate-papo do U & L, é óbvio que esse era um problema do Python, especificamente um problema de codificação. A questão era que o Python 3 do pôster estava se recusando a lidar corretamente com caracteres utf8 em scripts. Os erros específicos na questão acima foram para um caractere utf8, acho que o símbolo de direitos autorais.
Encontrei então o link
e usou o script de teste mencionado lá, a saber
filename = 'utf-8·filename.txt'
print(filename)
Na minha máquina, isso gerou um erro com o Python 2 e funcionou com o Python 3, da seguinte forma.
python test.py
File "test.py", line 1
SyntaxError: Non-ASCII character '\xc2' in file test.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
python3 test.py
utf-8·filename.txt
No entanto, o cartaz recebeu o mesmo erro para ambos.
Além disso, o cartaz recebeu ascii
para o Python 2 e 3 ao executar
/usr/bin/python -c 'import sys; print(sys.getdefaultencoding())'
Eu tenho ascii
para o Python 2 e utf8
para o Python 3.
Sem saber o que estava acontecendo aqui, perguntei aos especialistas na sala do Python sobre o Stack Overflow. Antti Haapala então fez algumas perguntas e, finalmente, ocorreu a seguinte troca ( link )
Antti Haapala : @WaitingforDev... what is your python3 version?
WaitingforDev...: ooooops
I run python3 --version
and I get
Python 2.7.8
Assim, o Python 3 do pôster era na verdade o Python 2, que explicava o comportamento. Eu então perguntei
FaheemMitha: what does 'ls -la /usr/bin/python3' show?
Waiting for Dev...: @FaheemMitha it pointed to /usr/bin/python