Тонкости настройки Python
Проблемы с юникодом. UnicodeEncodeError
Несколько советов, как справиться с ошибкой кодировки. Если вы используете Python 2.7 то часто возникает ошибка " … ‘ascii’ codec can’t encode …"
Для моделей на Django проверяем и меняем функцию:
def __str__(self): return self.title
на
def __unicode__(self): return self.title
Функция def __str__(self) используется в 3 версии
В файлах на Python можно попробовать такое решение. В начало файла добавить:
# coding: utf8 # Устанавливаем стандартную внешнюю кодировку = utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
Попробуйте использовать стандартные средства
someString = "string" someString.encode('utf-8') # или otherString = unicode(someString, 'utf-8')
Если есть возможность, можно объявить строку как содержащую юникод
someString = u"string"
В начало файла не забываем добавлять:
# -- coding: utf-8 --
Зачем и как сделать Requirements.txt
Файл Requirements.txt содержит список всех локальных библиотек, установленных локально при разработке продукта на Python. Когда программист на локальной машине пишет код, он в процессе работы устанавливает, подключает и использует множество сторонних библиотек. Так он формирует свое рабочее окружение. Если после он передаст код другому программисту на другой машине, то вероятно там будет иная среда и иные пакеты, и код может не заработать. Чтобы исправить это положение нужно просто воссоздать первоначальную среду разработки, и чтобы проще это было сделать используют виртуальное окружение.
При использовании виртуального окружения, все необходимые при разрабтке пакеты устанавливаются в него. Поэтому другим программистам для работы с вашим кодом нужно создать виртуальную среду и установить все пакеты согласно списку.
При разработке нового проекта нужно сразу создавать виртуальную и работать исключительно в ней. В ней будут установлены только те пакеты, которые необходимы проекту. Рекомендуется использовать файл requirements.txt (readthedocs.org), содержащий список команд для pip, который устанавливает необходимые версии зависимых пакетов. Поэтому в корне проекта формируется файл Requirements.txt со списком установленных пакетов. Требование наличия в корне файла requirements.txt условие хорошего подхода к работе. Для того чтобы быстро установить все требуемые библиотеки python в новом окружении достаточно выполнить команду
pip install -r requirements.txt
Так как файлы requirements.txt используются для фиксации требований среды, все установленные пакеты записываются с точными версиями. Такие версии позволяют легко воспроизвести ваше окружение на другом компьютере. Пакеты включены, даже если они были установлены с диапазоном версий, как зависимость от другого пакета или с установщиком, отличным от pip.