Я пытаюсь запустить этот маленький кусочек кода в Python 2.7 для Windows, используя lxml 2.3.
from lxml import etree
p = etree.XMLParser(encoding='cp1252')
, который возвращает
LookupError: unknown encoding: 'cp1252'
Из того, что я понимаю, lxmlиспользует libxml2, который, в свою очередь, зависит от libiconv для обработки кодировки символов, такой как эта.Однако работают только базовые кодировки, такие как ascii или utf-8.
У кого-нибудь есть идеи, почему я не могу использовать другие кодировки?Не загружается ли libiconv каким-либо образом, даже если он должен быть включен в двоичный пакет lxml?
Спасибо!
Решено:
Я решил эту проблему, удалив 64-разрядную версию Python для Windows и установив 32-разрядную версию вместе с 32-разрядной двоичной сборкой lxml 2.3.Непонятно, в чем проблема, но я подозреваю, что 64-битная двоичная сборка lxml не включала libiconv или не смогла как-то с ней связаться.
Спасибо всем, кто прочитал это и попытался помочь!