无法在Mac上的Django中安装mod_wsgi

问题描述:

我一直在Django上安装mod_wsgi时遇到问题。这是终端的追踪。我正在使用MacOS。无法在Mac上的Django中安装mod_wsgi

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 
+0

您是否使用了Mac在生产中托管您的网站? –

+0

不,我正在使用它为我的本地服务器.. –

+0

我不确定你的意思。没有理由在开发中运行您的网站来安装mod_wsgi;这就是内置的开发服务器的用途。 –

如果您使用MacOS X的塞拉利昂已经,那么问题是,苹果完全打破了不再提供安装第三方Apache模块的能力某些命令行工具需要这样做。

即便如此,在mod_wsgi 4.5.8中有一个解决方法,允许pip install mod_wsgi仍然可以工作。这只适用于pip安装方法,但不适用于旧式的configure/make/make安装方法,该方法无法找到简单的解决方法。

就在这个瞬间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日期说明最好的地方是:

+0

好吧..谢谢你的解释。我会尝试一下。 –