Error de Python – ImportError: no hay un módulo llamado ‘webapp2’

Soy un principiante de Python y tengo grandes dificultades para ejecutar mi código de Googleppengine de forma local en mi máquina.

Mi código se ve como sigue:

import json import urllib import os import webapp2 from google.appengine.ext.webapp import template import datetime from google.appengine.ext import db class Events(db.Model): venue_name = db.StringProperty() address = db.StringProperty() id = db.StringProperty() venue_id = db.StringProperty() # hire_date = db.DateProperty() # attended_hr_training = db.BooleanProperty() class eventSearch(webapp2.RequestHandler): def get(self): base_url = 'http://api.eventful.com/json/events/search?app_key=zGtDX6cwQjCRdkf6&l=dublin&?q=music' response = urllib.urlopen(base_url) html = response.read() html = json.loads(html) result = html['venues'] result1 = result['venue'] 

Cuando ejecuto este código en mi indicador de cmd con el comando “python file.py”, recibo el siguiente error:

 Traceback : File "file.py", line 4, in  import webapp2 ImportError: No module named 'webapp2' 

Tengo 1. Creé una PythonPath como se sugiere en ¿Cómo agregar a la ruta de python en Windows? dentro de mis variables de sistema con directorios: C: \ Python33 \ DLLs; C: \ Python33 \ Lib; C: \ Python33 \ Lib \ lib2to3; C: \ Archivos de progtwig (x86) \ Google \ google_appengine; C: \ Archivos de progtwig (x86 ) \ Google \ google_appengine \ lib;

Luego también agregué los dos directorios a continuación en mi variable “PATH” también, según lo recomendado en la respuesta: importar webapp2 funciona en google-app-engine aunque no tengo instalado webapp2
C: \ Archivos de progtwig (x86) \ Google \ google_appengine \; C: \ Archivos de progtwig (x86) \ Google \ google_appengine \ lib

EDITAR: Después de las sugerencias dentro de las respuestas proporcionadas, también me he dado cuenta de que GAE no es compatible con la versión 3.3 de Python con la que estaba intentando ejecutarlo en mi parte anterior de mi pregunta. Después de desinstalar Python33 e instalar Python27 en su lugar, cambiando las variables de mi sistema para reflejar el nuevo Python27, todavía tengo problemas y mi código no se cargará con el iniciador de GAE. Recibo los siguientes errores dentro de mi log-consola (GAE Launcher):

 2013-04-14 22:59:19 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=8080', '--admin_port=8001', 'C:\\Users\\Karen\\Desktop\\Development\\projects\\file']" Traceback (most recent call last): File "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py", line 193, in  _run_file(__file__, globals()) File "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py", line 189, in _run_file execfile(script_path, globals_) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\devappserver2.py", line 30, in  from google.appengine.datastore import datastore_stub_util File "C:\Program Files (x86)\Google\google_appengine\google\appengine\datastore\datastore_stub_util.py", line 45, in  from google.appengine.api import api_base_pb File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\api_base_pb.py", line 20, in  from google.net.proto import ProtocolBuffer File "C:\Program Files (x86)\Google\google_appengine\google\net\proto\ProtocolBuffer.py", line 22, in  import httplib File "C:\Python27\lib\httplib.py", line 71, in  import socket File "C:\Python27\lib\socket.py", line 47, in  import _socket ImportError: Module use of python25.dll conflicts with this version of Python. 2013-04-14 22:59:21 (Process exited with code 1) 

Gracias por cualquier ayuda que me puedas brindar.

No debes instalar webapp2. Se incluye en el SDK y ya está en el tiempo de ejecución de producción.

Lea las Configuraciones de bibliotecas que forman parte del entorno de la aplicación https://developers.google.com/appengine/docs/python/python25/migrate27#Configuring_Libraries

Y aquí está la lista de las librerías de terceros incluidas.

https://developers.google.com/appengine/docs/python/tools/libraries27

Si usa pip / easy_install para varias otras librerías, encontrará que eso es insuficiente. Deberá vincular o incluir estas librerías en su proyecto, manipular sys.path para que se puedan encontrar y asegurarse de que estas bibliotecas estén implementadas.

Esto solucionó mi problema (el mismo problema que tienes)

En primer lugar, no intente ejecutar desde Python IDLE ejecutado desde el motor de aplicaciones de Google abra localhost: puerto

Abra el registro en GAE si sigue mostrando el mismo error, intente a continuación los pasos

  1. Comprueba tu versión de python 2.7.X o 3.X
  2. Si instala 3.x 2.7.8
  3. Luego abre la consola del motor de Google Apps y ve a editar> preferencias
  4. agregue su directorio python27 (por ejemplo, C: \ Python27 \ pythonw.exe) a PythonPath haga clic en Aceptar

Parece que appengine / tools / devappserver2 / python / sandbox.py debe convertir C:\path\to\google_appengine\google en C:\path\to\google_appengine , pero hay un nombre de directorio adicional, por lo que termina obteniendo C:\path\to . No estoy seguro de por qué solo causa problemas en algunas circunstancias.

Puede solucionar el problema cambiando:

 library_pattern = os.path.join(os.path.dirname( os.path.dirname(google.__file__)), _THIRD_PARTY_LIBRARY_FORMAT_STRING) 

a:

 library_pattern = os.path.join( os.path.dirname(google.__file__), _THIRD_PARTY_LIBRARY_FORMAT_STRING) 

Encontré este problema al poner raise Exception(sys.path) en varios lugares en el código del motor de la aplicación y reiniciar el servidor dev.

Puedes instalar webapp2 usando pip o easy_install. Consulte http://webapp-improved.appspot.com/tutorials/quickstart.nogae.html para obtener información rápida