2015-03-27 3 views
0

Как говорит название, я могу запустить это простое приложение питона/склянок через терминал просто отлично:ImportError: нет модуля под названием колба; только при работе от uWSGI

$ python /srv/www/cc/hello.py 
* Running on http://0.0.0.0:8080/ 

Но когда я использую uwsgi я получаю ниже в моем файле журнал:

Traceback (most recent call last): 
    File "/srv/www/cc/hello.py", line 1, in <module> 
    from flask import Flask 
ImportError: No module named flask 

Другие потоки на здесь указывают на разность потенциалов версии с питона быть виновником, но я проверил, что все использует ту же версию с помощью ниже:

$ python -c 'import sys; print sys.version' 
2.7.6 

И в моих файлах emperor.log и cc_uwsgi.log см. Версию Python: 2.7.6

У кого-нибудь есть идеи?

Редактировать: Я даже вижу правильный путь для фляжки в моем пути python ... а также импортирую его просто отлично.

$ python -c 'import sys; print sys.path' 
[..., '/home/ccadmin/.local/lib/python2.7/site-packages', ...] 
$ python -d 'from flask import Flask' 
$ 

ответ

2

Оказывается, это было так же просто, как объявить путь к сайтам-пакетам в моей конфигурации uwsgi.ini, хотя он уже показывался на моем пути. Не знаю, зачем это было нужно, но это было так:

[uwsgi] 
pythonpath = /home/ccadmin/.local/lib/python2.7/site-packages/ 
1

Обычно и ошибка импорта, как и приписывается правилу PYTHONPATH. Можете ли вы установить переменную env PYTHONPATH, чтобы указать на правильное местоположение и попробовать.

+0

Из чего я могу сказать, я могу проверить свой PYTHONPATH с помощью Import sys; print sys.path. На выходе я вижу, что мои сайты-пакеты находятся в пути ... '/home/ccadmin/.local/lib/python2.7/site-packages' – Chockomonkey