Flask、mod_wsgi 和 Apache:导入错误

2024-02-26

我在错误日志中收到以下信息:

导入错误:没有名为flask的模块

它看起来完全像Django + mod_wsgi + apache:导入错误/没有名为 djproj.urls 的模块 https://stackoverflow.com/questions/5841531/django-mod-wsgi-apache-importerror-at-no-module-named-djproj-urls,但我尝试了该解决方案,但它似乎不起作用...我正确地将应用程序主目录和父文件夹插入到系统路径中,但仍然出现此错误。

导航到我的页面仍然会显示 500 页面。

更多信息:我正在使用亚马逊EC2 http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud免费层,Apache 采用 httpd 形式。一切都安装正确,我很确定......

这是我的东西(应用程序名称巴达塞莱和应用程序主文件夹名称hatemail- 我改变了很多想法):

错误日志

[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Target WSGI script '/home/ec2-user/hatemail/badassery.wsgi' cannot be loaded as Python module.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Exception occurred processing WSGI script '/home/ec2-user/hatemail/badassery.wsgi'.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] Traceback (most recent call last):
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]   File "/home/ec2-user/hatemail/badassery.wsgi", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]     from badassery import app as application
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]   File "/home/ec2-user/hatemail/badassery.py", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]     from flask import Flask, request, session, url_for, redirect, render_template, abort, g, flash, _app_ctx_stack
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] ImportError: No module named flask
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Target WSGI script '/home/ec2-user/hatemail/badassery.wsgi' cannot be loaded as Python module.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] mod_wsgi (pid=28143): Exception occurred processing WSGI script '/home/ec2-user/hatemail/badassery.wsgi'.
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] Traceback (most recent call last):
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]   File "/home/ec2-user/hatemail/badassery.wsgi", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]     from badassery import app as application
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]   File "/home/ec2-user/hatemail/badassery.py", line 6, in <module>
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148]     from flask import Flask, request, session, url_for, redirect, render_template, abort, g, flash, _app_ctx_stack
[Sun Nov 11 07:14:45 2012] [error] [client 18.189.71.148] ImportError: No module named flask

badassery.wsgi

import sys

sys.path.insert(0,'/home/ec2-user/hatemail')
sys.path.insert(1,'/home/ec2-user')

from badassery import app as application

httpd.conf 文件的添加内容

WSGISocketPrefix /var/run/wsgi

<VirtualHost *:80>
        ServerName 54.243.61.41
        DocumentRoot "/home/ec2-user/hatemail"

        WSGIDaemonProcess badassery user=apache group=apache processes=1 threads=5
        WSGIScriptAlias / /home/ec2-user/hatemail/badassery.wsgi
        WSGIScriptReloading On

        <Directory /home/ec2-user/hatemail>
                WSGIProcessGroup badassery
                WSGIApplicationGroup %{GLOBAL}
                Order deny,allow
                Allow from all
        </Directory>
</VirtualHost>

目录结构

~
    hatemail
        badassery.py
        badassery.wsgi
        Procfile
        README
        requirements.txt
        schema.sql
        static/
        templates/
        venv/bin/activate

是的,我正在做“如果name=='主':app.run()”。

我该如何解决这个问题?


如果您要部署 virtualenv,则必须确保首先激活它。您应该像这样更新您的 wsgi 文件(更新值以匹配您的环境):

activate_this = '/path/to/virtualenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this)

import sys
sys.path.insert(0, '/path/to/flask/appname')
sys.path.insert(0,'/home/ec2-user/hatemail')
sys.path.insert(1,'/home/ec2-user')

from badassery import app as application

如果您没有部署 virtualenv,您可能只需要确保系统上安装了 Flask。如果您已经安装了setuptools你可以:

easy_install flask
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask、mod_wsgi 和 Apache:导入错误 的相关文章

随机推荐

  • 使用从情节提要中的通用类继承的类时,出现“界面生成器文件中的未知类”

    我最近重构了我的课程BookTableViewController来自简单的继承UITableViewController 这样它现在继承自泛型类FetchedResultsTableViewController
  • 在 Android 模拟器中以“飞行”模式进行测试

    我正在尝试在手机没有连接到互联网的情况下测试我的应用程序 在我的模拟器中 我在设置中打开了飞行模式 但是 我的应用程序似乎仍然能够与我的服务器通信 它正常工作 在我的设备上 相同的代码在没有数据连接的情况下引发错误 如何确保模拟器中没有互联
  • Route.php找不到我创建的控制器类

    我正在尝试构建一个 silex 应用程序 我的文件结构是 ROOT App Controller IndexController php Config dev php prod php route php vendor web index
  • Canvas 会减小 Jpeg 的图像大小,但为什么呢?

    当我使用以下命令将 JPEG 图像绘制到 Canvas 时drawImage 之后 使用canvas toDataURL 使其可保存在本地 用鼠标右键单击 则保存的 Jpeg Image 的文件大小会减少约 40 仅当使用 Jpeg 时才如
  • 如何处理复合微服务请求中的验证?

    考虑一个具有两个实体的应用程序 User 包含基本用户数据 例如姓名 Passport 包含身份验证凭据 即密码 以及两个内部微服务 UserService 负责创建和管理用户及其基础数据 AuthService 负责用户认证和密码处理 T
  • 跨类型构造函数编写通用仿函数实例?

    我正在学习基本类型课程并编写了自己的实现functor适合我的类型Test a 行为就像Maybe data Test a Test a Emp class FC c a where t a gt b gt c a gt c b insta
  • Git 交互式合并?

    我有两个分支具有完全相同的文件 如果您想知道它是一个 sql 文件 我想以交互方式合并它 我几乎想打开一个 diff 程序 就像出现冲突 或命令行 时所做的那样 并准确选择哪些行去哪里 有办法做到这一点吗 是的 但主要是通过手动实现 您将告
  • 使用 BouncyCastle 解密 Rijndael 256 块大小

    我们有一个用于加密的辅助类 老实说 它可能是几年前从 Stack Overflow 复制的 目前 我们正在尝试将部分代码移植到 NET Core 但我们发现它不起作用 因为 NET Core 实现RijndaelManaged不支持 256
  • Spring MVC 可以处理多值查询参数吗?

    有了这个http myserver find by phones phone 123 phone 345请求 是否可以处理这样的事情 Controller public class Controller RequestMapping fin
  • 为什么 ByRef 不能与 WithEvents 结合使用?

    我想我很清楚两者之间的区别ByVal and ByRef在 VB 中 但我的问题是当我尝试将它与声明为的成员结合使用时WithEvents 我有以下方法 Private Sub SafeCloseAndDeRefConnection ByR
  • 使用 torch.stack()

    t1 torch tensor 1 2 3 t2 torch tensor 4 5 6 t3 torch tensor 7 8 9 torch stack t1 t2 t3 dim 1 在实现 torch stack 时 我无法理解如何对不
  • Android Realm - 调试[重复]

    这个问题在这里已经有答案了 我想查看 Realm 对象变量的值 例如 Student int studentID ArrayList
  • 顶级异常应用程序:dexDebug --dex -no-optimize --output android studio

    我正在将 Android 代码从 Eclipse 迁移到 Android studio 但遇到了以下错误 该项目构建良好并与 gradle 同步 但在编译时抛出以下错误 UNEXPECTED TOP LEVEL EXCEPTION Erro
  • Web 请求中未设置 Referrer 标头

    当我通过 Phonegap 加载 Web 应用程序并发出 Web 请求 通过 AJAX 或其他方式 时 根本不会设置 REFERRER HTTP 标头 这会干扰某些第三方网站的功能 如何发送 REFERRER 标头 我使用的是Phonega
  • 如何从 Ruby 中的线程返回值?

    如果我有以下代码 threads 1 5 each do i threads lt lt Thread new process x i bin end threads each do t t join i d like to get the
  • 如何从 Firebase 获取某个字段为空的记录

    我正在构建一个应用程序 需要小批量处理 5k 任务 为此 我有一个存储在 Firebase 中的任务队列 我希望能够提取一定数量的空状态任务 更新其状态并写回 目前我不知道如何在某个字段为空的情况下提取数据 是否可以 如果不是 替代解决方案
  • 检索 SQL 表中的列数 - C#

    我对 C 很陌生 我正在尝试使用以下方法检索列数 SELECT count FROM sys columns 您能否解释一下如何使用该命令并将其放入变量中 要连接到数据库 您可以使用SqlConnection类 然后要检索行数 您可以使用E
  • 为什么使用数组作为索引会改变多维 ndarray 的形状?

    我有一个 4 D NumPy 数组 轴为 x y z t 我想获取对应于 t 0 的切片并排列 y 轴上的顺序 我有以下内容 import numpy as np a np arange 120 reshape 4 5 3 2 b a 1
  • Xcode Storyboard - 在哪里设置 UITableViewCell 高度

    我正在使用 Xcode 7 并且我正在尝试设置故事板中 UITableViewCell 的高度设置为不同的设备具有不同的单元高度 例如 正常和紧凑 x 常规 我找不到这些设置的位置 这只能通过编程来实现吗 单击 表视图 然后单击 尺寸检查器
  • Flask、mod_wsgi 和 Apache:导入错误

    我在错误日志中收到以下信息 导入错误 没有名为flask的模块 它看起来完全像Django mod wsgi apache 导入错误 没有名为 djproj urls 的模块 https stackoverflow com question