Использование feedparser с Google App Engine - PullRequest
2 голосов
/ 20 февраля 2012

Я пытаюсь разобрать канал RSS с feedparser. Ниже приведен фрагмент кода для краткости

from google.appengine.api import urlfetch
import feedparser
print 'Content-Type: text/plain'

feed_url = 'http://parsethisurl'
feedinput = urlfetch.fetch(feed_url)

rss_parsed = feedparser.parse(feedinput.content)
......
#some logic here
.........

print "\n".join(episode_info) # printing out the desired output.

отлично работает на моем интерпретаторе python, но когда я добавляю свое приложение в модуль запуска gapp и пытаюсь запустить его через localhost:10000, это выдает мне следующую ошибку

<type 'exceptions.ImportError'>: No module named feedparser 
      args = ('No module named feedparser',) 
      message = 'No module named feedparser'

feedparser модуль уже установлен в моей системе.

>>> sys.version
'2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)]'
>>> import feedparser
>>>

Я прочитал несколько статей о stackoveflow и блогах, которые feedparser не работают напрямую с движком gapp. Я последовал совету и использовал urlfetch.fetch(feed_url), но также получаю ошибку.

PS: PythonPath на панели запуска gapp C:\Python25\python.exe

1 Ответ

5 голосов
/ 20 февраля 2012

У вас feedparser установлен локально, поэтому, когда вы запускаете приложение на сервере разработки, оно работает. Но чтобы использовать feedparser на производстве, вам нужно включить его в свой проект, потому что GAE не предоставляет эту библиотеку для вас.

Вам необходимо загрузить feedparser вместе с файлами вашего проекта. Для этого вы можете скопировать его в корневой каталог приложения и затем развернуть приложение.

...