ImportError:没有名为flask的模块;仅在从uWSGI运行时

时间:2015-03-27 23:01:35

标签: python flask uwsgi importerror

正如标题所说,我可以通过终端运行这个简单的python / flask app:

$ 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是罪魁祸首,但我已经通过以下方式确认所有内容都使用相同的版本:

$ 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 个答案:

答案 0 :(得分:2)

事实证明,就像在我的uwsgi.ini配置中声明site-packages的路径一样简单,即使它已经在我的路径中显示了。不知道为什么再次需要它,但它是:

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

答案 1 :(得分:1)

通常和这样的导入错误归因于未正确设置PYTHONPATH。你能将你的PYTHONPATH env变量设置为指向正确的位置并尝试。