Мне нужен feedparser (se http://www.feedparser.org) для проекта, и я хочу сохранить сторонние модули в отдельной папке. Я сделал это, добавив папку в путь к Python и поместив туда соответствующие модули, среди них feedparser.
Эта первая попытка импортировать feedparser привела к
>>> import feedparser
Traceback (most recent call last):
File "", line 1, in
File "/home/users/me/modules/feedparser.py", line 1
ed socket timeout; added support for chardet library
^
SyntaxError: invalid syntax
В комментариях внизу файла я нашел текст «сокет времени ожидания добавлен ...», удалил эти комментарии и попытался снова:
>>> import feedparser
Traceback (most recent call last):
File "", line 1, in
File "/home/users/me/modules/feedparser.py", line 1
= [(key, value) for key, value in attrs if key in self.acceptable_attributes]
^
IndentationError: unexpected indent
Хорошо, значит, ошибка с отступом. Я удостоверился, что отступ в рассматриваемой функции, где все в порядке (перенес некоторые разрывы строк в «без отступа»). И попробовал еще раз:
>>> import feedparser
Traceback (most recent call last):
File "", line 1, in
File "/home/users/me/modules/feedparser.py", line 1
, value) for key, value in attrs if key in self.acceptable_attributes]
^
SyntaxError: invalid syntax
Сколько бы я ни гуглял, я не могу найти ничего плохого в синтаксисе:
def unknown_starttag(self, tag, attrs):
if not tag in self.acceptable_elements:
if tag in self.unacceptable_elements_with_end_tag:
self.unacceptablestack += 1
return
attrs = self.normalize_attrs(attrs)
attrs = [(key, value) for key, value in attrs if key in self.acceptable_attributes]
_BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
И что теперь?
Мой подход все не так? Почему я продолжаю выдавать эти ошибки в модуле, который кажется таким хорошо проверенным и заслуживающим доверия?