ImportError: Нет модуля с именем os [Python+Flask+uwsgi+Ngnix+Ubuntu16.04]

Я пытаюсь разместить свою веб-страницу на сервере с ОС Ubuntu 16.04 и Python2 / Flask / uwsgi (emperor).

Конфигурация emperor в /etc/uwsgi/emperor.ini как следует:

[uwsgi]

emperor = /etc/uwsgi/vassals

uid = www-data

gid = www-data

и служба императора может быть запущена нормально, так как результаты sudo systemctl status emperor.uwsgi показывает, что файл UWSGI INI загружается нормально:

?.emperor.uwsgi.service - uWSGI Emperor
  Loaded: loaded (/etc/systemd/system/emperor.uwsgi.service; enabled; vendor preset: enable
  Active: active (running) since Sun 2017-01-08 00:18:03 EST; 43min ago
 Main PID: 150 (uwsgi)
  Status: "The Emperor is governing 1 vassals"
  CGroup: /system.slice/emperor.uwsgi.service
          ?..150 /usr/local/bin/uwsgi --ini /etc/uwsgi/emperor.ini
          ?..160 /usr/local/bin/uwsgi --ini proxy.ini
          ?..172 /usr/local/bin/uwsgi --ini proxy.ini
Jan 08 00:18:03 localhost uwsgi[150]: *** WARNING: you are running uWSGI without its master 
Jan 08 00:18:03 localhost uwsgi[150]: your processes number limit is 579533
Jan 08 00:18:03 localhost uwsgi[150]: your memory page size is 4096 bytes
Jan 08 00:18:03 localhost uwsgi[150]: detected max file descriptor number: 1024
Jan 08 00:18:03 localhost uwsgi[150]: * ** starting uWSGI Emperor ***
Jan 08 00:18:03 localhost systemd[1]: Started uWSGI Emperor.
Jan 08 00:18:03 localhost uwsgi[150]: * ** has_emperor mode detected (fd: 7) ***
Jan 08 00:18:03 localhost uwsgi[150]: [uWSGI] getting INI configuration from proxy.ini
Jan 08 00:18:03 localhost uwsgi[150]: Sun Jan  8 00:18:03 2017 - [emperor] vassal proxy.ini 
Jan 08 00:18:03 localhost uwsgi[150]: Sun Jan  8 00:18:03 2017 - [emperor] vassal proxy.ini 

Каталог веб-страницы /var/www/proxy и файл UWSGI INI /var/www/proxy/proxy.ini следующим образом:

[uwsgi]
base = /var/www/proxy
app = index
module = %(app)
home = %(base)
pythonpath = %(base)
socket = /var/www/proxy/%n.sock
chmod-socket  = 666 
callable = app 
logto = /var/log/uwsgi/%n.log
no-site=true

Конфигурационный файл nginx /etc/nginx/sites-enabled/proxy:

upstream flask {
    server unix:///var/www/proxy/proxy.sock;
}

# Default server configuration
server {
    listen 80;
    server_name proxy.foool.net;
    charset utf-8;

    location / {
        uwsgi_pass flask;
        include uwsgi_params;
    }
}

Тем не менее, он возвращает Internal Server Error при открытии веб-страницы и файла журнала /var/log/uwsgi/proxy.log показывает ошибку ImportError: нет модуля с именем os Error. увидеть больше деталей:

machine: x86_64
compiled with version: 5.4.0 20160609 on 07 January 2017 23:28:17
os: Linux-2.6.32-042stab113.21 #1 SMP Wed Mar 23 11:05:25 MSK 2016
nodename: localhost
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /etc/uwsgi/vassals
detected binary path: /usr/local/bin/uwsgi
your processes number limit is 579533
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /var/www/proxy/proxy.sock fd 3
Python version: 2.7.12 (default, Nov 19 2016, 06:48:10)  [GCC 5.4.0 20160609]
Set PythonHome to /var/www/proxy
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x1fb4bf0
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 145520 bytes (142 KB) for 1 cores
*** Operational MODE: single process ***
added /var/www/proxy/ to pythonpath.
Traceback (most recent call last):
  File "/var/www/proxy/index.py", line 2, in <module>
    import os
ImportError: No module named os
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 160)
spawned uWSGI worker 1 (pid: 172, cores: 1)

Итак, как я могу решить эту проблему ImportError? Мой python по умолчанию - python2.7.12, а pip3 не установлен.

Обновить:

Обойти systemctl а также emperor мой проект запущен командой uwsgi --socket 0.0.0.0:5000 --protocol=http -w index:application Так что я думаю, что Увси в порядке.

0 ответов

Другие вопросы по тегам