2012-02-20 2 views
2

Я пытаюсь разобрать RSS-канал с помощью feedparser. Ниже код отрезала обрезается короткий для краткостиИспользование feedparser с Google App Engine

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. 

отлично работает на моем питона переводчика, но когда я добавить мое приложение ОПП двигателя пусковой установки и попробуйте запустить его с помощью 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 не работает непосредственно на ОПП двигателя. Я следовал совету и использовал urlfetch.fetch(feed_url), но также получаю сообщение об ошибке.

PS: PYTHONPATH на ОППЫ пусковой C:\Python25\python.exe

ответ

5

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

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

+0

Спасибо, это сработало. – Noob