在 windows 平台上的 Xampp 上运行 Python 代码

Posted

技术标签:

【中文标题】在 windows 平台上的 Xampp 上运行 Python 代码【英文标题】:Running Python Code on Xampp on windows platform 【发布时间】:2011-07-07 02:25:05 【问题描述】:

XAMPP-PYTHON-WINDOWS

我已经安装了 Xampp。我正在运行 apache Web 服务器和 mysql 服务。我想在我的网络服务器上托管我的 python 代码。但是,我很难用 Xampp 设置 python。我阅读了有关 modwsgi 的信息,将其下载并粘贴到模块文件夹中。我的 C 盘上安装了 python 3.2。

请让我知道接下来我应该做什么,比如我应该在哪里粘贴我的 python 文件以及我应该如何通过网络浏览器执行它们?我应该能够做到这一点:

http://74.xxx.xxx.xx/python/test.py (localhost/python/test.py)

这应该执行python代码。

当我尝试执行上述操作时,我得到了这个:


服务器错误!

服务器遇到内部错误,无法完成您的请求。服务器过载或 CGI 脚本出错。

如果您认为这是服务器错误,请联系网站管理员。

错误 500

74.194.129.16 2011 年 3 月 2 日凌晨 2 点 11 分 16 秒 Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o php/5.3.4 mod_perl/2.0.4 Perl/v5.10.1


我们非常感谢所有帮助。

【问题讨论】:

【参考方案1】:

mod_wsgi 的官方版本不支持 Python 3.2,所以你不能使用它。要使用 Python 3.2,您需要从 subversion 存储库中的源代码编译 mod_wsgi,根据上述问题,我认为这可能会超出您的能力范围。因此,请使用 Python 2.6/2.7。另见:

http://code.google.com/p/modwsgi/wiki/InstallationOnWindows http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2#Windows_Binary_Downloads

正如 Daniel 所建议的,我建议您使用 Flask。你也可以使用 web2py,这是另一个对新手来说很容易的框架。我还建议,如果您只是开始学习这些东西,请不要使用 Apache/mod_wsgi,而只需使用您使用的 Python Web 框架提供的内置开发服务器。如果您对 Apache 一无所知,这将在最初为您省去很多麻烦。

【讨论】:

【参考方案2】:

mod_wsgi 不运行这样的 Python 脚本。它是一种将长时间运行的 Python 应用程序托管在单独进程中的方法,这些进程由 Apache 分派。无论如何,您不只是通过将 Apache 模块“粘贴”到文件夹中来安装它们。

如果您只想通过提供 Apache 的路径来运行 Python 脚本,顺便说一句,这是一种非常糟糕的方式,您只需配置 Apache 以使其将 Python 脚本视为 CGI。有很多关于如何做到这一点的文档。

但是更好的方法是通过编写适当的 WSGI 服务来为您的代码提供服务,这可能是通过使用周围众多最小框架之一 - 我最喜欢的是 Flask。

【讨论】:

对不起,丹尼尔,您实际上在一些帐户上是错误的。 Apache/mod_wsgi 可以配置为将 URL 映射到类似的脚本。即,就像您可以将 CGI 脚本放入目录中然后通过 URL 中的脚本名称来引用它们一样,如果配置得当,您可以对 mod_wsgi 执行相同的操作。与 CGI 的唯一区别是代码会保持持久性。接下来是默认模式(Windows 上唯一的模式)的代码在 Apache 进程中运行,而不是作为单独的进程。守护程序模式仅在 UNIX 上可用,并且必须配置才能使用。

以上是关于在 windows 平台上的 Xampp 上运行 Python 代码的主要内容,如果未能解决你的问题,请参考以下文章

在 XAMPP (WINDOWS 8.1) 中作为脚本在 PHP 中运行 Python

XAMPP 在 Windows 上的 PHP 运行速度太慢了 100 倍

我无法在我的系统 windows 7 32 位上的 XAMPP 上启动 Apache

在 Windows 上的 xampp 上使用 cakeresque

Flashdrive 上的 XAMPP 无法在 Windows 7 上启动 Apache、MySQL

Windows 8 上的 XAMPP 和 Skype 端口冲突 [重复]