Flask + Nginx + uWSGI: ImportError: Ningún módulo llamado sitio

Instalé como el http://www.reinbach.com/uwsginginx-flask-virtualenv-mac-os-x.html tutorial del enlace y al ejecutar el comando uwsgi --ini deploy/deploy.ini , el terminal dice que fue un error de importación:

Establezca PYTHONHOME en /virtualenv/sample/

 ImportError: No module named site 

He puesto mi PYTHONHOME y PYTHONPATH como

 export PYTHONPATH=$PYTHONPATH:/Library/Python/2.7/site-packages export PYTHONHOME=$PYTHONHOME:/Library/Python/2.7 

No puedo entender qué mal con eso.

¿Podría alguien ayudarme con el problema?

La información completa en el terminal se muestra a continuación si es útil:

 (env)ios-devmatoMacBook-Pro:hello ios_dev$ uwsgi --ini deploy/deploy.ini [uWSGI] getting INI configuration from deploy/deploy.ini *** Starting uWSGI 1.9.10 (64bit) on [Fri May 17 16:42:22 2013] *** compiled with version: 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) on 17 May 2013 12:41:07 os: Darwin-11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu- 1699.32.7~1/RELEASE_X86_64 nodename: ios-devmatoMacBook-Pro.local machine: x86_64 clock source: unix detected number of CPU cores: 4 current working directory: /Users/ios_dev/Desktop/sample/hello detected binary path: /Users/ios_dev/Documents/little/little-web/little_web_dev/env/bin/uwsgi your processes number limit is 709 your memory page size is 4096 bytes detected max file descriptor number: 256 lock engine: OSX spinlocks uwsgi socket 0 bound to TCP address 127.0.0.1:3031 fd 3 Python version: 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] 

Establezca PYTHONHOME en /virtualenv/sample/

 ImportError: No module named site 

Aquí es cómo resolví el mismo mensaje de error (ImportError: Ningún módulo llamado sitio) que obtuve al intentar este tutorial: https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html .

  • Desactivar el virtualenv
  • Instale uWSGI en todo el sistema (si no está instalado en todo el sistema)

sudo pip instalar uwsgi

  • Edite el archivo uwsgi.ini. Comenté fuera de la línea con el

Inicio = / ruta / a / virtualenv

  • uWSGI –ini mysite_uwsgi.ini

Leí un montón de documentos sobre la pregunta, pero no obtengo respuesta.

Por coincidencia, soluciono este problema editando uid y gid como root.

Parece un problema de permisos. No sé por qué, pero simplemente funciona. Recuerde, es muy peligroso ejecutar un entorno de producto como root.

1 、 activa el virtual que usaste

2 install pip instalar uwsgi

esta es la acción clave, entonces el

 command -v wsgi 

muestra esto

 /virtual-path/bin/uwsgi 

3 、 usa el usuario actual para ejecutar uwsgi , porque otro usuario no está activo el virtualenv

Mi caso no estaba usando virtualEnv. Simplemente utilizando django + ngnix. Mi solución fue eliminar la variable HOME en el archivo de configuración * .ini:

sudo nano /etc/uwsgi/sites/c_app.ini

 [uwsgi] project = c_app uid = ubuntu base = /home/%(uid) chdir = %(base)/%(project) **home = %(base)/%(project)** (REMOVED IT) module = %(project).wsgi:application master = true processes = 5 socket = /run/uwsgi/%(project).sock chown-socket = %(uid):www-data chmod-socket = 660 vacuum = true 

entonces funciona.