windows - 如何修复 Apache 服务器(Windows)中的导入 ssl 错误
问题描述
我正在尝试在Apache服务器上使用mod_wsgi设计带有 Flask 应用程序的 RESTful API ,并且在Apache服务器中导入ssl模块时出现错误。我已经从https://www.apachelounge.com/download/安装了 Apache 2.4 ,并使用 pip 安装了 mod_wsgi,并在 Apache 服务器中对其进行了配置。
我创建了一个简单的 Flask 应用程序:
from flask import Flask '
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World"
if __name__ == "__main__":
app.run()
我创建了一个 web.wsgi 文件:
import sys
sys.path.insert(0, 'C:/Users/chant/myapp')
from final_app import app as application
并通过在 http-vhosts.conf 中粘贴以下代码,使用它为 Flask App 配置虚拟主机:
<VirtualHost *:5000>
ServerName localhost
WSGIScriptAlias / "C:/Users/chant/myapp/web.wsgi"
DocumentRoot "C:/Users/chant/myapp"
ErrorLog "C:/Users/chant/myapp/logs/error.log"
CustomLog "C:/Users/chant/myapp/logs/access.log" common
我的错误日志显示:
File "c:\\programdata\\anaconda3\\Lib\\ssl.py", line 98, in <module>\r
import _ssl # if we can't import it, let the error propagate\r
ImportError: DLL load failed: The specified module could not be found.\r
虽然我尝试测试导入模块并且它在 python 中运行,但它没有在 Apache 服务器中导入。
如果有人有任何建议,将不胜感激。
解决方案
后来我注意到 Flask 应用程序部署的一个重要部分是应该为所有用户安装 Python,否则 Apache 服务器无法导入 ssl 模块。
希望这可以帮助!
推荐阅读
- html - 我无法使用 HTML 或 CSS 操作此图像
- sql-server - Invoke-SqlCmd 坏了,是否有更好的 SMO/SqlCmd.exe 包装器?
- c# - c# listview添加第二列行数据
- java - 远程部署到默认 webapps 目录以外的 Tomcat
- oracle - 如何在 Oracle PL/SQL 语句中的类似表达式中转义点(。)
- javascript - 用于验证表单的“if”语句无法正常工作
- android - onOptionsItemSelected 上的 ID 不匹配
- excel - 如何在 [vba] 自定义函数中添加 if 子句
- c++ - 仅在按住左键时模拟左键
- bash - Heroku 登录 Bash 脚本