【问题标题】:Flask and Apache2: No module named appFlask 和 Apache2:没有名为 app 的模块
【发布时间】:2016-04-10 07:14:46
【问题描述】:

我正在尝试通过 Apache2 部署 Flask 应用程序,但出现 No module named app 错误。我也在使用virtualenv

刨床(Flask 应用)

(venv)jdoe@jdoe-virtual-machine:/var/www/planer$ la
app.py   forms.py   .git        helpers.py   __init__.py  main.pyc   models.pyc   README.md         setup.cfg  templates  views.py
app.pyc  forms.pyc  .gitignore  helpers.pyc  main.py      models.py  planer.wsgi  requirements.txt  static     venv       views.pyc

planer.conf

<VirtualHost *:80>
        ServerName planer.dev
        ServerAdmin admin@mywebsite.com
        WSGIScriptAlias / /var/www/planer/planer.wsgi
        <Directory /var/www/planer/planer/>
            Order allow,deny
            Allow from all
        </Directory>
        Alias /static /var/www/planer/static
        <Directory /var/www/planer/static/>
            Order allow,deny
            Allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

planer.wsgi

import sys, os
sys.path.insert (0,'/var/www/planer')

    sys.path = [
        '/var/www/planer/venv/lib/python2.7/lib-dynload',
        '/usr/lib/python2.7',
    ]

    activate_this = '/var/www/planer/venv/bin/activate_this.py'
    execfile(activate_this, dict(__file__=activate_this))

    import app as application

错误

[Wed Jan 06 09:45:29.781102 2016] [:error] [pid 20727] [client 127.0.0.1:42448] mod_wsgi (pid=20727): Target WSGI script '/var/www/planer/planer.wsgi' cannot be loaded as Python module.
[Wed Jan 06 09:45:29.781137 2016] [:error] [pid 20727] [client 127.0.0.1:42448] mod_wsgi (pid=20727): Exception occurred processing WSGI script '/var/www/planer/planer.wsgi'.
[Wed Jan 06 09:45:29.781208 2016] [:error] [pid 20727] [client 127.0.0.1:42448] Traceback (most recent call last):
[Wed Jan 06 09:45:29.781235 2016] [:error] [pid 20727] [client 127.0.0.1:42448]   File "/var/www/planer/planer.wsgi", line 12, in <module>
[Wed Jan 06 09:45:29.781302 2016] [:error] [pid 20727] [client 127.0.0.1:42448]     import app as application
[Wed Jan 06 09:45:29.781327 2016] [:error] [pid 20727] [client 127.0.0.1:42448] ImportError: No module named app

【问题讨论】:

  • planer.wsgi,使用from app import app as application 有效吗?
  • 删除所有 *.pyc 并尝试from planer.app import app as application 工作?如果还是不行,你可以给我们看看app.py__init__.py的内容。

标签: python apache flask wsgi


【解决方案1】:

确保 .wsgi 文件是可执行的:

sudo chmod a+x planer.wsgi

并尝试用这个加载它:

python /absolute/path/to/planer.wsgi

【讨论】:

  • 执行 python /absolute/path/to/planer.wsgi 会发生什么?
  • @intelis 出了什么问题?
猜你喜欢
  • 1970-01-01
  • 2014-05-07
  • 2021-09-01
  • 2013-03-06
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 2019-08-02
相关资源
最近更新 更多