Найти - Пользователи
Полная версия: Кириллица Python Linux ошибка в кодировке
Начало » Python для новичков » Кириллица Python Linux ошибка в кодировке
1 2
Saturn
cutwater
Тяжело понять это виртуальное окружение да и материала маловато для понимая, я вот установил virtualenv, но что далее честно говоря не пойму ?!
Кстати менял символьную ссылку python для версии 3.1, но тогда действительно малая часть программ перестала работать, пришлось менять обратно на 2.6 .

А в самом Django можно указать версию питона для запуска?
cutwater
http://webnewage.org/2009/04/27/virtualenv/
http://vorushin.ru/blog/29-pip-virtualenv-virtualenvwrapper/

Содержится в первых пяти ссылках в выдаче гугла по запросу vitualenv

Saturn
А в самом Django можно указать версию питона для запуска?
Смотря как запускаете, если через manage.py то можно в нем заменить
#!/usr/bin/env python
на
#!/usr/bin/env python3

Saturn
cutwater, спасибо буду разбираться.

Если пишу в консоли python3 то выводит версию 3.1, а если в manage.py указываю
#!/usr/bin/env python3 то все равно обрабатывается версией 2.6 поскольку выдает ошибку когда присутствует кириллица,.
cutwater
Saturn
то все равно обрабатывается версией 2.6

Значит увы оказался не прав. manage.py вероятно для рестарта порождает еще дочерний процесс, который запускается под 2.

Saturn
выдает ошибку когда присутствует кириллица,.

Еще раз, сначала. Описание ошибки. Файл. Как запускаете. И не надо гадать, потому как как 2.6 работает с кирилицей нормально так и 3.х и смена версии python явно проблему не решит.
Saturn
Ошибка:
File “my.py”, line 2
SyntaxError: Non-ASCII character ‘\xd0’ in file my.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Содержимое файла my.py
print(“кириллица”)

Запускаю
python my.py
выдает ошибку

Но если запустить
python3 my.py
тогда срабатывает
kmike
Вам же даже ссылка в трейсбеке написана, по которой рассказано, почему падает и как это исправить. Если не научиться решать подобные проблемы, а тыкаться - менять интерпретаторы (тем более не нормальным способом, с виртуаленвами, а какими-то костылями), ни к чему хорошему это не приведет.
Saturn
kmike Конечно же я смотрел указанную ссылку и пробовал подключать
#!/usr/local/bin/python
import os, sys
но та же ошибка выходила.

Django работает при таком
#!/usr/local/bin/python
# -*- coding: utf-8 -*-

На данный момент меня устраивает.
sp3
стесняюсь спросить, а сам то файл точно в utf8 ?
магическая строчка # -*- coding: utf-8 -*- кодировки файла не меняет :)
cutwater
Saturn, еще раз

Удостовериться в том что файл в UTF-8 (судя по всему так и есть)
Указать кодировку

# -*- coding: utf-8 -*-
print("кирилица")

И запускать как
python file.py

Потом разобраться зачем нужен shebang
И то что для питона более правильным является указание
#!/usr/bin/env python
Кстати при использовании virtualenv вы таки поймете разницу.

Просто из последнего вижу я кашу в голове и непонимание что и зачем Вы делаете.
А делать наобум чревато последствиями.
Saturn
Кодировку проверил, точно в utf-8. (file -i my.py)

# -*- coding: utf-8 -*-
print(“кирилица”)
python file.py – все нормально выводит.

Кстати при использовании virtualenv вы таки поймете разницу.
Спасибо, но действительно уже и так каша., наверное как нибудь позже придется воспользоваться virtualenv, но в данный момент устраивает пока что есть.
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