2014-03-24 3 views
2

Я не могу правильно импортировать reportlab под движок Google. В соответствии со следующими guide (и нескольких других местах в Интернете):Как использовать reportlab с движком google app

«Все, что вам нужно сделать, это загрузить его и скопировать папку„reportab“в корневую директорию вашего приложения.»

Когда я сделать это (я загружаю reportlab-3.0.zip от here) и распаковать его в корневую директорию моего приложения, как я пытаюсь импортировать ReportLab, используя следующие строки:

from reportlab.pdfgen import canvas 
from reportlab.lib.pagesizes import A4 

Я получаю сообщение об ошибке Импорт

ImportError: No module named reportlab.pdfgen 

Я пробовал искать, но безрезультатно. Любая помощь по этому поводу будет очень признательна, поскольку я не уверен, что еще я мог бы попробовать. Большое спасибо!


Еще одна вещь, которую я пытался копировал то, что в каталоге Src загруженного почтового индекса под корневой директории моего приложения, но это не сработало. Я получаю ошибку, используя это:

ImportError: Cannot re-init internal module __main__ 

Кажется версия 2.7 импортирует все в порядке, только вопросы с 3.0

+0

Примечание питон 3.0 не поддерживается на AppEngine. Python 2.7 - единственный поддерживаемый в настоящий момент релиз. Python 2.5 устарел. –

ответ

6

Если вы просто распаковать ReportLab молнию в корневой директории вашего приложения, то он выиграл Работает, так как reportlab zip предназначен для локальной настройки с использованием setup.py, которую вы не используете в appengine.

Вы должны смотреть внутрь почтового индекса в каталоге Src, так и внутри, что является каталогом ReportLab - в моем случае содержимое файла почтового индекса будет reportlab-3.0/src/reportlab копировать/переместить этот reportlab каталог на корневом уровне приложения.

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

Также обратите внимание на предварительные условия, если вы хотите работать с изображениями. Если вам это нужно, вам нужно будет установить PIL локально и включить его в app.yaml, однако вы не разворачиваете код PIL. Подробнее об этом можно узнать в документах документации 3-й части приложения.

0

Проверка пути назначени ReportLab установки после команды pip install reportlab, а затем сделать ссылку на ReportLab в корне питона проекта ln -s /usr/lib/python2.7/dist-packages/reportlab

Смежные вопросы