正如标题所说,我可以通过终端运行这个简单的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'
$
答案 0 :(得分:2)
事实证明,就像在我的uwsgi.ini配置中声明site-packages的路径一样简单,即使它已经在我的路径中显示了。不知道为什么再次需要它,但它是:
[uwsgi]
pythonpath = /home/ccadmin/.local/lib/python2.7/site-packages/
答案 1 :(得分:1)
通常和这样的导入错误归因于未正确设置PYTHONPATH。你能将你的PYTHONPATH env变量设置为指向正确的位置并尝试。