Тонкости настройки 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.

Читать по теме
Интересные статьи