Обновлен движок приложений Google, и теперь у меня есть ошибки с python manage.py сервер запуска

#python #google-app-engine #django-nonrel

#python #google-app-engine #django-nonrel

Вопрос:

Вчера перед обновлением SDK Google App Engine я смог обойтись python manage.py runserver без каких-либо проблем, но после обновления SDK сегодня утром я получаю эти ошибки при попытке сделать python manage.py runserver Я не уверен, в чем проблема. Есть идеи?

 WARNING  2011-10-19 09:18:16,284 dev_appserver.py:4648] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging
Warning: You are using a Python runtime (2.6) that is more recent than the production runtime environment (2.5). Your application may use features that are not available in the production environment and may not work correctly when deployed to production.
INFO     2011-10-19 09:18:16,865 appengine_rpc.py:159] Server: appengine.google.com
INFO     2011-10-19 09:18:19,585 rdbms_sqlite.py:58] Connecting to SQLite database '' with file '/Users/bryce/Documents/Aptana Studio 3 Workspace/DennysBE/.gaedata/rdbms'
WARNING  2011-10-19 09:18:19,587 dev_appserver.py:4648] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
execute_manager(settings)
  File "/Users/bryce/Documents/Aptana Studio 3 Workspace/django-blog/django/core/management/__init__.py", line 438, in execute_manager

  File "/Users/bryce/Documents/Aptana Studio 3 Workspace/django-blog/django/core/management/__init__.py", line 379, in execute

  File "/Users/bryce/Documents/Aptana Studio 3 Workspace/DennysBE/djangoappengine/management/commands/runserver.py", line 79, in run_from_argv
super(Command, self).run_from_argv(argv)
  File "/Users/bryce/Documents/Aptana Studio 3 Workspace/django-blog/django/core/management/base.py", line 191, in run_from_argv
  File "/Users/bryce/Documents/Aptana Studio 3 Workspace/django-blog/django/core/management/base.py", line 220, in execute
  File "/Users/bryce/Documents/Aptana Studio 3 Workspace/DennysBE/django/core/management/commands/runserver.py", line 67, in handle
self.run(*args, **options)
  File "/Users/bryce/Documents/Aptana Studio 3 Workspace/DennysBE/djangoappengine/management/commands/runserver.py", line 154, in run
dev_appserver_main.main([self.progname]   args   [PROJECT_DIR])
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_main.py", line 651, in main
default_partition=default_partition)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 4842, in CreateServer
server = HTTPServerWithScheduler((serve_address, port), handler_class)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 4870, in __init__
request_handler_class)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 400, in __init__
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py", line 108, in server_bind
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 411, in server_bind
  File "<string>", line 1, in bind
socket.error: [Errno 48] Address already in use
Exception AttributeError: "'NoneType' object has no attribute 'mkstemp'" in <bound method DatastoreFileStub.__del__ of <google.appengine.api.datastore_file_stub.DatastoreFileStub object at 0x106063190>> ignored
  

Ответ №1:

Понял. Все, что мне нужно было сделать, это изменить номер порта на другой номер. Я просто выбрал 8084:

 python manage.py runserver 8084
  

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

1. это не совсем решение проблемы, не так ли. это просто изменение номера порта

2. используйте ‘sudo lsof -i: 8080’, чтобы найти, что прослушивается на 8080, а затем обработать его соответствующим образом