Уведомления

Группа в Telegram: @pythonsu

#1 Май 8, 2017 15:29:03

a031070
Зарегистрирован: 2017-02-21
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

Здравствуйте!
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: ]



Спасибо

Офлайн

#2 Май 8, 2017 16:11:20

a031070
Зарегистрирован: 2017-02-21
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

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

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=

Офлайн

#3 Май 8, 2017 22:15:43

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

 print (u"Привет из логова ПИТОНА")
Что скажет?
КАВЫЧКИ такие же, как здесь?
Тогда:
 print (“Привет из логова ПИТОНА”)
                 ^
SyntaxError: invalid character in identifier



 import __hello__

Офлайн

#4 Май 8, 2017 23:04:34

a031070
Зарегистрирован: 2017-02-21
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

# -*- 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 , то никаких проблем: все буквы выводятся нормально

Отредактировано a031070 (Май 8, 2017 23:09:03)

Офлайн

#5 Май 9, 2017 08:13:39

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

Эммм… “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"Привет из логова ПИТОНА")



 import __hello__

Отредактировано delvin-fil (Май 9, 2017 08:21:50)

Офлайн

#6 Май 9, 2017 14:59:52

a031070
Зарегистрирован: 2017-02-21
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

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 (Май 9, 2017 15:04:51)

Офлайн

#7 Май 9, 2017 15:08:16

a031070
Зарегистрирован: 2017-02-21
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

delvin-fil
, и у меня Sublime не русифицирован. Может в этом дело?

Офлайн

#8 Май 9, 2017 15:54:14

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

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 вполне таки собирает(если поставить галочку)



 import __hello__

Прикреплённый файлы:
attachment 19:52:18-09-05-17.png (123,9 KБ)

Офлайн

#9 Май 9, 2017 15:57:53

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

a031070
delvin-fil
И да, локаль в 2.7 перезагружать надо:
К сожалению, пока даже не представляю, что это такое
 from __future__ import print_function
import sys  
reload(sys)  
sys.setdefaultencoding('utf-8')
#next your code 
В 3.х это не требуется.



 import __hello__

Офлайн

#10 Май 9, 2017 18:05:00

a031070
Зарегистрирован: 2017-02-21
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3. Sublime Text. Mac. Не работает вывод в Юникоде (ошибку выдает)

delvin-fil
Если появилась - все сделали правильно.
Так я же уже так сделал и написал результат

Прикреплённый файлы:
attachment Снимок экрана 2017-05-09 в 21.42.50.png (332,8 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version