【问题标题】:How to install & configure mod_wsgi for py3如何为 py3 安装和配置 mod_wsgi
【发布时间】:2013-10-21 01:48:13
【问题描述】:

我为 python2.7 安装并配置了 mod_wsgi,但现在我也想为 py3 安装 mod_wsgi

我在 ubuntu 12.04 对于 py2.7,我的 apache conf 文件看起来像这样:

<Directory /var/www/vhosts/my_web>
    WSGIProcessGroup my_web
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

现在我想为 python3 安装 mod_wsgi。

我想我必须做 apt-get install libapache2-mod-wsgi-py3

但我找不到任何关于如何为 py3 配置 mod_wsgi 的说明。 a) 我可以为 py2.7 保留 mod_wsgi,还是需要删除它才能让 apache 使用 mod_wsgi_py3? b) 我需要在我的 apache conf 中包含什么?

【问题讨论】:

  • 堆这样安装的,是用apache2安装的包,不用重新配置。
  • 你不能同时安装 libapache2-modwsgi 和 libapache2-modwsgi-py3,至少在 Debian 中是这样。我认为在 Ubuntu 中也是如此。
  • 是的,你是对的,它是一个或另一个。
  • 我认为您的错误是省略了 mod_wsgi 标签——开发人员似乎正在监视该标签。我刚刚在这里问了一个类似的问题:stackoverflow.com/questions/30674644/…
  • drabo2005 实际上回答了我。您只需要执行 apt-get install libapache2-mod-wsgi-py3 ,它将覆盖 py2.7 的 mod-wsgi。该配置文件运行良好。

标签: python apache python-3.x apache2 mod-wsgi


【解决方案1】:

sudo apt-get install libapache2-mod-wsgi-py3

这将替换 libapache2-mod-wsgi 并重新启动 apache 服务。

更多具体说明 (Django) 可在此处获得:https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/modwsgi/

【讨论】:

  • 谢谢。它可能已经 5 岁了,但它仍然是我在 Ubu20 上所需要的
【解决方案2】:

说不需要重新安装是不正确的。 Graham Dumpleton(mod_wsgi 模块的作者)解决了这个问题here

简短回答 - 您需要安装为更新的 Python 编译的 mod_wsgi。我遇到了同样的问题 - 据我所知,您需要为您的 Python 版本获取正确的 pip 并按照以下方式运行:

sudo pip3.x install --target=/path/to/python3.x/site-packages mod_wsgi

【讨论】:

    【解决方案3】:

    如果你正在使用 virtualenvs(你应该这样做),你只需为你想要构建 mod_wsgi 的 python 版本构建一个。

    $ mkvirtualenv --python=/usr/bin/python3 myvenv
    

    然后

    (myvenv) $ pip install mod_wsgi 
    

    将为您构建 Python3 版本。

    【讨论】:

    • 请记住(因为我被这个咬了)你需要安装 apache2-dev 以便 apxs 工具可用。没有这个,使用 pip 安装 mod_wsgi 会失败。
    • .. 和 python-dev 或 python3-dev 取决于您构建的 Python 版本。
    猜你喜欢
    • 2015-12-31
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 2012-05-13
    • 2019-01-19
    相关资源
    最近更新 更多