2012-01-26 12 views
5

Estoy tratando de usar Apio corriendo con RabbitMQ y Django. Hasta ahora he RabbitMQ 2.7 instalado en mi servidor, junto con Python 2.7, Django 1.3, 2.4.6 apio y apio Django 2.4.2Python SEM_OPEN Error

He seguido las instrucciones simples aquí http://django-celery.readthedocs.org/en/latest/introduction.html

y luego traté de iniciar el apio ejecutando

$ python manage.py celeryd 

pero me dio este error

Unrecoverable error: ImportError('This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770. 

que hice algunas investigaciones y encontró el error aquí http://bugs.python.org/issue3770, y se supone que está arreglado, pero supongo que no para Python 2.7.

Además, My OS es CentOS versión 4.9 (final). Y construí Python desde la fuente.

Empecé el shell pitón y corrieron:

import multiprocessing 

sin errores, sin embargo i luego corrió:

from multiprocessing import synchronize 

y me dieron el error (arriba).

Cualquier ayuda es apreciada.

+0

¿Cuál es su SO? ¿Construiste Python tú mismo o lo instalaste desde un administrador de paquetes? ¿Funciona 'import multiprocessing' en un shell de python simple? – AdamKG

+0

gracias por su respuesta, he editado la pregunta para incluir la información que ha solicitado. – Paulo

Respuesta

10

Me encontré con el mismo problema en CentOS 6 corriendo bajo OpenVZ. Tuve que montar /dev/shm porque faltaba. Agregue lo siguiente a /etc/fstab:

tmpfs /dev/shm tmpfs defaults  0 0 

Y a continuación, ejecutar sudo mount /dev/shm y ver si funciona. Tenía mi propia versión personalizada de Python 2.7.3 y este dispositivo debe estar presente al construir también, de lo contrario, Python no se compilará con el soporte sem_open. Compruebe la siguiente salida al ejecutar ./configure:

checking for sem_open... yes 
+1

Desafortunadamente estaba usando un servidor compartido, así que no tenía forma de montarlo, así que compré un nuevo servidor ejecutando Ubuntu 11.10 y funcionó :). Gracias – Paulo