I have a weird problem with Django nonrel's development server:
I have installed Amazon Simple Product API , and it works fine in the shell, I can import it there, and everything else seems to work fine. But when I try to import it into my website I get this:
ImportError at /
No module named amazon.apiRequest Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.3
Exception Type: ImportError
Exception Value: No module named amazon.api
Exception Location: /Users/Paulius/Desktop/Django-nonrel/projects/sort/phone/functions.py in <module>, line 3
Python Executable: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Python Version: 2.7.2
Python Path: ['/Users/Paulius/Desktop/Django-nonrel/projects/sort',
'/Users/Paulius/Desktop/Django-nonrel/projects/sort/djangoappengine/lib',
'/usr/local/google_appengine',
'/usr/local/google_appengine/lib/antlr3',
'/usr/local/google_appengine/lib/enum',
'/usr/local/google_appengine/lib/fancy_urllib',
'/usr/local/google_appengine/lib/graphy',
'/usr/local/google_appengine/lib/grizzled',
'/usr/local/google_appengine/lib/httplib2',
'/usr/local/google_appengine/lib/ipaddr',
'/usr/local/google_appengine/lib/jinja2',
'/usr/local/google_appengine/lib/markupsafe',
'/usr/local/google_appengine/lib/oauth2',
'/usr/local/google_appengine/lib/prettytable',
'/usr/local/google_appengine/lib/protorpc',
'/usr/local/google_appengine/lib/simplejson',
'/usr/local/google_appengine/lib/sqlcmd',
'/usr/local/google_appengine/lib/webapp2',
'/usr/local/google_appengine/lib/webob',
'/usr/local/google_appengine/lib/yaml/lib',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_cms-2.2-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_sekizai-0.5-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_mptt-0.5.2-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/html5lib-0.95-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/South-0.7.4-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_classy_tags-0.3.4.1-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_floppyforms-0.4.7-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygeoip-0.2.3-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.1.0-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.27-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/bottlenose-0.4.0-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/python_amazon_simple_product_api-1.1.0-py2.7.egg',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL']
Server time: Tue, 17 Jul 2012 18:11:04 +0000
I'm using the same python version to run both the server and the shell, and I have no idea what's wrong.
Traceback:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.3
Python Version: 2.7.2
Installed Applications:
['django.contrib.contenttypes',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'phone',
'django.contrib.admindocs',
'djangotoolbox',
'autoload',
'dbindexer',
'djangoappengine']
Installed Middleware:
('autoload.middleware.AutoloadMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
Traceback:
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/django/core/handlers/base.py" in get_response
101. request.path_info)
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/django/core/urlresolvers.py" in resolve
250. for pattern in self.url_patterns:
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/django/core/urlresolvers.py" in _get_url_patterns
279. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/django/core/urlresolvers.py" in _get_urlconf_module
274. self._urlconf_module = import_module(self.urlconf_name)
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/django/utils/importlib.py" in import_module
35. __import__(name)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in load_module
1845. return self.FindAndLoadModule(submodule, fullname, search_path)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in FindAndLoadModule
1717. description)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in LoadModuleRestricted
1660. description)
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/urls.py" in <module>
2. from phone.views import *
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in load_module
1845. return self.FindAndLoadModule(submodule, fullname, search_path)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in FindAndLoadModule
1717. description)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in LoadModuleRestricted
1660. description)
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/phone/views.py" in <module>
9. from functions import *
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in load_module
1845. return self.FindAndLoadModule(submodule, fullname, search_path)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in FindAndLoadModule
1717. description)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in Decorate
676. return func(self, *args, **kwargs)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver_import_hook.py" in LoadModuleRestricted
1660. description)
File "/Users/Paulius/Desktop/Django-nonrel/projects/sort/phone/functions.py" in <module>
3. from amazon.api import AmazonAPI
Exception Type: ImportError at /
Exception Value: No module named amazon.api
dev_appserever modifies the environment so you don't include libraries in a way that won't be available when you deploy your project onto App Engine.
You'll have to put the library in your actual project folder, or at least softlink to it from within your project folder.