'没有名为'即使我在虚拟环境中安装了模块,它也可以在localhost上正常工作

时间:2016-01-03 20:08:02

标签: python flask module python-import

我最近通过DigitalOcean获得了一台服务器,而且我正在使用Flask应用程序。

当我在本地运行时,应用程序在我的计算机上运行得非常好。但是在DigitalOcean托管时它并不起作用。两种虚拟环境都是相同的。

当我执行' pip freeze'时,输出为:

coverage==4.0.3
dominate==2.1.16
Flask==0.10.1
Flask-Bootstrap==3.3.5.7
Flask-Login==0.3.2
Flask-SQLAlchemy==2.1
Flask-WTF==0.12
gunicorn==19.4.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
SQLAlchemy==1.0.11
visitor==0.1.2
Werkzeug==0.11.3
wheel==0.24.0
WTForms==2.1

但是当我查看Apache错误日志时出现错误:

  

ImportError:没有名为flask.ext.bootstrap的模块

我不确定为什么它找不到它。就像我说的,当我在本地运行它时,它在我的计算机上工作正常。

我也尝试过来自flask_bootstrap import Bootstrap'而不是来自于flask.ext.bootstrap导入Bootstrap'。两者都在本地工作,但在DigitalOcean服务器上都不起作用。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

请检查Apache的配置方式。它可能在没有虚拟环境的情况下使用系统默认的Python。

答案 1 :(得分:0)

使用digitalocean制作Flask应用程序时,本教程比我上面发布的更新,更简单: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-14-04

我再次完成了这个过程,但这次使用了gunicorn和nginx,发现整个过程变得更加容易。