我想在Windows上安装带有wamp或appserv的python,如何安装?它能一起跑吗?
最佳答案
可以很容易地将python支持添加到wampserver中,类似于添加任何不随基本包提供的apache模块。您需要采取一些额外的步骤来确保您可以继续使用wampserver控制台来管理您的应用程序堆栈。
下载mod wsgi apache模块
您需要获得mod wsgi的适当二进制版本。wsgi是用Python编写Web应用程序的首选方法。您使用的二进制文件必须与您使用的Windows、Apache和Python的版本相匹配。此站点为当前版本提供二进制文件:mod_wsgi binaries。注意:如果您完全关心安全性,那么您可能应该从源代码编译自己的mod wsgi版本,或者只从受信任的源代码下载。
二进制文件进入Apache模块目录。在我的例子中,我下载了mod wsgi-3.4.ap22.win-amd64-py2.7.zip(windows 7 64位,python 2.7,apache2.2)。在我的笔记本电脑上,正确的目录是C:\wamp\bin\apache\apache2.4.4\modules。
更新httpd.conf并刷新wampserver
接下来,您需要更新httpd.conf。这可以从wampserver控制面板通过从菜单中选择apache->httpd.conf来完成。记事本(或默认编辑器)将启动。
找到其中有一组loadmodule语句的部分。在本节的底部,为mod wsgi添加loadmodule语句:
LoadModule wsgi_module modules/mod_wsgi.so
保存httpd.conf文件并退出记事本。
要让wampserver知道您做了更改,您需要刷新它。右键单击系统托盘中的wampserver图标,然后选择刷新。现在,当您查看控制面板(apache->apache modules)中的模块列表时,您应该会在列表中看到mod_wsgi。如果还没有检查,请继续检查。如果Apache没有自动重新启动,现在从控制面板重新启动。
如果Apache没有启动,并且您确定没有错误地输入上面的loadmodule语句,那么很可能您的wampserver安装的版本与您下载的mod_wsgi二进制文件的版本不匹配。
将Apache连接到您的python应用程序
根据您使用的应用程序框架(Cherrypy、Django等),此步骤将有所不同。我将提供一个真正基本的示例,以确保一切正常工作;这个示例紧跟officialWSGI documentation的后面。
创建一个目录来存放WSGi应用程序。我创建了一个名为c:\code\wsgi的目录。在这里,创建一个实现名为“application”的函数的python模块。每当调用应用程序URL时,这将是应用程序的入口点。
我叫我的模块wsgi.py:
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
接下来,您需要更新apache httpd.conf文件,将wsgi指向您的应用程序。在我的用例中,我维护一个PHP站点,同时使用Python对一个新站点进行原型设计。为了将两者分开,我在Apache中定义了一个虚拟服务器,监听另一个端口号。我还添加了ifmodule指令,这样如果我使用wampserver控制面板禁用mod wsgi,那么这些语句将被忽略。
<IfModule wsgi_module>
<VirtualHost *:8090>
WSGIScriptAlias /myapp /code/wsgi/wsgi.py
<Directory /code/wsgi>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
</IfModule>
测试一下
使用wampserver控制面板重新启动apache。如果一切正常,你应该能够打字
http://localhost:8090/myapp
进入你的浏览器,看到“你好,世界”!显示消息。
2015年5月更新
用于mod wsgi的新版本的Windows二进制文件使用whl文件格式打包。whl文件是一个python pip“wheel”文件。它与zip兼容,因此您可以使用.zip扩展名重命名文件,以提取mod wsgi.so文件(从数据目录)。
或者,可以运行“pip install(packagename).whl”以安装mod wsgi.so作为python包。您必须找到python从何处提取mod wsgi.so文件,并将其复制到正确的位置(如有必要)。
我对最新版本的wamp服务器使用了前一种方法。正确的文件是mod wsgi-4.4.11+ap24Vc10-cp34-none-win32.whl。名称的“cpnn”部分应该与安装的python版本匹配。
关于python - 如何使用Wampserver安装Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8266153/