Проект PyDev для Google App Engine не находит webapp2

#python #eclipse #google-app-engine #pydev

#python #eclipse #google-app-engine #pydev

Вопрос:

Я пытаюсь опробовать Google App Engine с помощью python. Будучи знакомым с Eclipse, я решил использовать PyDev. После некоторых проблем у меня работает программа hello world… почти. Он не может найти импорт webapp2, сообщая мне, что он неразрешен. Я выполнил все инструкции, которые смог найти, и подключил библиотеки Google App Engine — я думаю. Я искал webapp2 в качестве потенциального импорта и не могу найти его нигде ни в одном из файлов библиотеки. Я действительно новичок в python в целом и даже новичок в Google App Engine, поэтому я уверен, что это простая проблема, которая усугубляется моей новизной.

Я работаю на OS-X, запускаю Eclipse Indigo Service Release 1. У меня есть последняя версия PyDev, доступная для скачивания по состоянию на вечер вторника.

Комментарии:

1. Конкретная ошибка, которую я получаю: «ImportError: нет модуля с именем webapp2»

2. Когда я пытаюсь запустить helloworld.py приложение, использующее программу запуска движка, в конечном итоге выдает мне ту же ошибку … должен ли я был загрузить что-то еще?

Ответ №1:

В настройках посмотрите в разделе PyDev > Interpreter - Python (или в зависимости от того, что вы используете) и убедитесь, что webapp2 указан в системных библиотеках вкладки Библиотеки. Если это не так, добавьте его, нажав «Новая папка» справа, затем нажмите «Применить» и подождите, пока он повторно выполнит поиск ваших функций.

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

Комментарии:

1. проблема в том, что я просматриваю всю свою машину, и единственная ссылка, которую я нахожу на webapp2, находится в моем helloworld.py . Я использую python 2.7 — есть идеи, где тогда находится webapp2?

2. Похоже webapp2 , что он не входит в библиотеки по умолчанию. Вы можете загрузить его по этой ссылке.

3. Вау — огромное спасибо. Я бы хотел, чтобы в их документации это упоминалось… Я думаю, они, вероятно, ожидают лучшего понимания Python, чем у меня в настоящее время. Еще раз спасибо!

Ответ №2:

Текущий SDK не поддерживает среду выполнения Python 2.7 на dev_appserver, поэтому он не объединяет новые библиотеки, такие как webapp2. Если все, что вам нужно, это библиотеки, вы можете загрузить их и включить в свое приложение самостоятельно, но если вам нужны дополнительные функции времени выполнения, такие как многопоточность и PIL, вам нужно будет пока заниматься разработкой в производственной среде.

Ответ №3:

Я тоже сталкиваюсь с этой проблемой. И я следую инструкциям TorelTwiddler -> он прав, webapp2 нет.

Вы должны добавить $ {GOOGLE_APP_ENGINE}/lib/webapp2 во «Внешние библиотеки».

Это происходит потому, что (я думаю) вы меняете только интерпретатор проекта, а не создаете совершенно новый проект GAE с помощью PyDev. Это действие не привело к повторному сканированию библиотек, которые оно должно включать.

Если вы создаете новый проект GAE с Pydev, вы увидите, что webapp2 находится в списке внешних библиотек.

Ответ №4:

Это не проблема PyDev — webapp2 не включен в SDK — загрузите webapp2, поместите в корень проекта оба с дополнительными функциями — не делайте, за исключением того, что SDK 1.5.5 поддерживает python 2.7, поскольку это делает только производство.

http://code.google.com/p/googleappengine/issues/detail?id=6103

Ответ №5:

добавление $ {GOOGLE_APP_ENGINE} / lib/webapp2-2.5.2 к «Внешним библиотекам» сработало для меня. Версия SDK App Engine: 1.8.2 Версия Python: 2.7