无法在Mac上的Django中安装mod_wsgi

时间:2016-11-25 10:31:59

标签: python django mod-wsgi

我在Django上安装mod_wsgi时遇到了问题。这是终端的追溯。我正在使用MacOS。

Mac-mini-3:~ Sqooge_Ahmed$ pip install mod_wsgi
Collecting mod_wsgi
  Using cached mod_wsgi-4.5.7.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/14/x0m8m6p16bs9mfrmrs54zrjc0000gn/T/pip-build-0NyGFW/mod-wsgi/setup.py", line 247, in <module>
        APR_INCLUDES = get_apr_includes().split()
      File "/private/var/folders/14/x0m8m6p16bs9mfrmrs54zrjc0000gn/T/pip-build-0NyGFW/mod-wsgi/setup.py", line 219, in get_apr_includes
        stdout=subprocess.PIPE, stderr=subprocess.PIPE)
      File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
        errread, errwrite)
      File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1343, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/14/x0m8m6p16bs9mfrmrs54zrjc0000gn/T/pip-build-0NyGFW/mod-wsgi/

我已经使用

更新了setuptools
pip install --upgrade setup

1 个答案:

答案 0 :(得分:1)

如果您使用的是MacOS X Sierra,那么问题在于Apple完全破坏了安装第三方Apache模块的能力,因为它不再提供执行此操作所需的某些命令行工具。

即便如此,在mod_wsgi 4.5.8中还有一种允许pip install mod_wsgi仍然有效的解决方法。这仅适用于pip安装方法,而不适用于较旧的配置/ make / make install方法,它无法找到简单的解决方法。

此时此刻,4.5.8尚未发布,但将在第二天左右发布。在此期间,您可以通过运行:

从GitHub存储库进行安装
pip install https://github.com/GrahamDumpleton/mod_wsgi/archive/develop.zip

关于没有理由安装mod_wsgi进行开发的想法,这是误导性的。 mod_wsgi-express的一个要点是使其易于用于开发,包括Django。在某些方面使用mod_wsgi-express比内置开发服务器更好,因为您使用的WSGI服务器的工作方式与生产方式相同。这意味着您将选择与最终部署方法相关的问题,而在使用Django开发服务器时则不会这样。因此,如果mod_wsgi将成为您的最终目标,最好还将mod_wsgi-express的一些用法纳入开发。您仍然可以获得诸如mod_wsgi-express支持的自动代码重新加载等功能,以及集成的Python调试器支持等其他功能。

关于使用mod_wsgi-express的误解可能会出现,因为人们认为你必须完成所有这些手动配置来运行它,因此它太难了。你没有。运行mod_wsgi-express与运行可以从命令行运行的其他WSGI服务器没有区别,因为mod_wsgi-express将为您处理所有配置。因此不需要手动配置Apache。这一切都是自动发生的。

在发布4.5.8并更新PyPi详细信息之前,查看有关如何使用mod_wsgi-express的最新描述的最佳位置是: