#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