Найти - Пользователи
Полная версия: Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)
Начало » Инструментальные средства разработки » Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)
1 2 3
a031070
Здравствуйте!
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: ]



Спасибо
a031070
копался еще. не знаю, что это такое, оно у меня так:

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=
delvin-fil
 print (u"Привет из логова ПИТОНА")
Что скажет?
КАВЫЧКИ такие же, как здесь?
Тогда:
 print (“Привет из логова ПИТОНА”)
                 ^
SyntaxError: invalid character in identifier
a031070
# -*- 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: ]


Кавычки у меня обычные. Просто сюда какие-то наклонные вставляются

Меня смущает, что если в терминале набрать python3 encoding.py , то никаких проблем: все буквы выводятся нормально
delvin-fil
Эммм… “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"
}
Сохраняем в ~/.config/sublime-text-3/Packages/Python34/Python 3.4.build (или где в Мас'е путь - сублим сам должен показать)
————————————
И да, локаль в 2.7 перезагружать надо:
 #!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from __future__ import print_function
import sys  
reload(sys)  
sys.setdefaultencoding('utf-8')
print (u"Привет из логова ПИТОНА")
a031070
delvin-fil
Эммм… “import __hello__” копипастить не надо было.
Кто же знал, что это фича такая.
delvin-fil
Версия sublime какая?

MacOs 10.9.5
Latest Python 3 Release - Python 3.6.1 (https://www.python.org/downloads/release/python-361/)
Sublime Text 3 (https://download.sublimetext.com/Sublime%20Text%20Build%203126.dmg)

Система сборки python3
(вставил ваш, хотя я когда-то что-то подобное тоже ставил)
(путь только взял из
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 перезагружать надо:
К сожалению, пока даже не представляю, что это такое

В Винде на стационарном у меня все работает (пока по крайней мере).
Но хочу, чтобы и на маке работали теже самые скрипты.
Я же все стандартные программы устанавливаю. Последние версии. Что не так?
Если скрипт в терминале Мака выполняется без ошибок, а в Sublime выдает ошибку, значит проблема в Sublime. Так ведь? Если использовать метод исключения

Вот результат манипуляций:
# -*- 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
delvin-fil
, и у меня Sublime не русифицирован. Может в этом дело?
delvin-fil
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"
}
Сохраняем(как писал выше) файл Python 3.6.sublime-build, перезагружаем редактор, смотрим, появилась ли новая система сборки. Tools -> Build System -> Python 3.6.
Если появилась - все сделали правильно. Ставим галочку и пробуем выполнить ВАШ код(без извращений с перезагрузкой кодировки).
————————————
Вообще, “голый” Sublime вполне таки собирает(если поставить галочку)
delvin-fil
a031070
delvin-fil
И да, локаль в 2.7 перезагружать надо:
К сожалению, пока даже не представляю, что это такое
 from __future__ import print_function
import sys  
reload(sys)  
sys.setdefaultencoding('utf-8')
#next your code 
В 3.х это не требуется.
a031070
delvin-fil
Если появилась - все сделали правильно.
Так я же уже так сделал и написал результат

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB