Форум сайта python.su
Здравствуйте!
Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)
Подскажите, что надо сделать? копался в настройках. По умолчанию поставил utf-8, но все навно не работает.
(В терминале отрабатывает без проблем)
что делать???????
Пишу
# -*- coding: utf-8 -*-
print (“Привет из логова ПИТОНА”)
Выдает:
Traceback (most recent call last):
File “/Users/A/Desktop/Py/Encoding.py”, line 2, in <module>
print (“\u041f\u0440\u0438\u0432\u0435\u0442 \u0438\u0437 \u043b\u043e\u0433\u043e\u0432\u0430 \u041f\u0418\u0422\u041e\u041d\u0410”)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-5: ordinal not in range(128)
[cmd: ]
Спасибо
Офлайн
копался еще. не знаю, что это такое, оно у меня так:
ay A$ locale
LANG=“ru_RU.UTF-8”
LC_COLLATE=“ru_RU.UTF-8”
LC_CTYPE=“ru_RU.UTF-8”
LC_MESSAGES=“ru_RU.UTF-8”
LC_MONETARY=“ru_RU.UTF-8”
LC_NUMERIC=“ru_RU.UTF-8”
LC_TIME=“ru_RU.UTF-8”
LC_ALL=
Офлайн
print (u"Привет из логова ПИТОНА")
print (“Привет из логова ПИТОНА”) ^ SyntaxError: invalid character in identifier
import __hello__
Офлайн
# -*- coding: utf-8 -*-
import __hello__
print(u“Привет из логова ПИТОНА”)
Hello world!
Traceback (most recent call last):
File “/Users/A/Desktop/Py/Encoding.py”, line 3, in <module>
print(u“\u041f\u0440\u0438\u0432\u0435\u0442 \u0438\u0437 \u043b\u043e\u0433\u043e\u0432\u0430 \u041f\u0418\u0422\u041e\u041d\u0410”)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-5: ordinal not in range(128)
[cmd: ]
Отредактировано a031070 (Май 8, 2017 23:09:03)
Офлайн
Эммм… “import __hello__” копипастить не надо было.
Версия sublime какая?
Модуль сборки в сублиме? Подозреваю, что собираете под python2.7 в сублиме.
Сборочники под 3.4 и 3.6 могу дать:
Инструменты -> Система сборки -> Новая система сборки
{ "cmd": ["/usr/bin/python3.4", "-u", "$file"], # Пример для 3.4 "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
#!/usr/bin/env python2.7 # -*- coding: utf-8 -*- from __future__ import print_function import sys reload(sys) sys.setdefaultencoding('utf-8') print (u"Привет из логова ПИТОНА")
import __hello__
Отредактировано delvin-fil (Май 9, 2017 08:21:50)
Офлайн
delvin-filКто же знал, что это фича такая.
Эммм… “import __hello__” копипастить не надо было.
delvin-fil
Версия sublime какая?
aesktop A$ type -a python3)
python3 is /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
python3 is /usr/local/bin/python3
{ "cmd": ["/usr/local/bin/python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
delvin-filК сожалению, пока даже не представляю, что это такое
И да, локаль в 2.7 перезагружать надо:
# -*- coding: utf-8 -*-
print('Привет из логова ПИТОНА')
Traceback (most recent call last):Как-то так
File “/Users/A/Desktop/Py/Encoding.py”, line 2, in <module>
print('\u041f\u0440\u0438\u0432\u0435\u0442 \u0438\u0437 \u043b\u043e\u0433\u043e\u0432\u0430 \u041f\u0418\u0422\u041e\u041d\u0410')
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-5: ordinal not in range(128)
Отредактировано a031070 (Май 9, 2017 15:04:51)
Офлайн
delvin-fil, и у меня Sublime не русифицирован. Может в этом дело?
Офлайн
a031070Хорошо.
Python 3.6.1
и у меня Sublime не русифицирован. Может в этом дело?Tools -> Build System -> New Build System
{ "cmd": ["/usr/bin/python3.6", "-u", "$file"], # Укажите правильный путь к питону (видимо этот /usr/local/bin/python3) "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
import __hello__
Прикреплённый файлы:
19:52:18-09-05-17.png (123,9 KБ)
Офлайн
a031070
delvin-fil
И да, локаль в 2.7 перезагружать надо:
К сожалению, пока даже не представляю, что это такое
from __future__ import print_function import sys reload(sys) sys.setdefaultencoding('utf-8') #next your code
import __hello__
Офлайн
delvin-filТак я же уже так сделал и написал результат
Если появилась - все сделали правильно.
Прикреплённый файлы:
Снимок экрана 2017-05-09 в 21.42.50.png (332,8 KБ)
Офлайн