如何让mod_wsgi获取我的虚拟环境

2022-05-08 00:00:00 python virtualenv flask mod-wsgi

问题描述

我对FlaskTM非常陌生-

根据http://flask.pocoo.org/docs/0.12/deploying/mod_wsgi/

在"使用虚拟环境"标题下 我读到:

对于Python3,将以下行添加到.wsgi文件的顶部:

activate_this = '/path/to/env/bin/activate_this.py'
with open(activate_this) as file_:
    exec(file_.read(), dict(__file__=activate_this)) This sets up the load paths according to the settings of the virtual environment.

请记住,路径必须是绝对路径。

要激活我的venv,我在Linux上使用命令:

 my_env/bin/activate

我查看了my_env/bin/目录,没有看到任何.py文件。 我是否应该在my_env/bin/中创建将由.wsgi文件调用的.py文件?


解决方案

我也遇到了同样的问题,解决方案其实很简单。您需要安装libapache2-mod-wsgi-py3,而不是libapache2-mod-wsgi。后者适用于python2。

然后,您可以通过将环境的站点包添加到系统路径来激活环境。例如,对于我(使用venv),我可以通过将以下行添加到我的*.wgsi文件来完成此操作。

sys.path.insert(0,"/path/to/venv/lib/python3.8/site-packages")

相关文章