首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行Python脚本,如PHP

运行Python脚本,如PHP
EN

Stack Overflow用户
提问于 2012-03-12 17:38:00
回答 3查看 5.4K关注 0票数 8

服务器端有Apache2+ mod_wsgi +Python2.6。

我想从Python运行脚本,就像运行PHP脚本一样。这个想法可能看起来很愚蠢,但我已经习惯了(至少在一开始学习Python)。

示例:

PHP - http://example.com/script.php

Python - http://example.com/script.py

另外,我知道mod_rewrite和其他类似的技巧可以做到这一点。但这只是一种伪装,并不是直接参选。

更新:我的.htaccess文件。index.py可以工作,但其他python脚本得到404错误。

代码语言:javascript
运行
复制
<Files *.py>
SetHandler wsgi-script
Options ExecCGI FollowSymLinks
</Files>
 DirectoryIndex index.py
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-12 17:46:08

这看起来不像运行一个wsgi应用程序那么酷,所以我建议你使用flask framework,它是一个尽可能简单的框架。

这里有一个描述install procedure on mod_wsgi的链接。

稍后,你可能想考虑一个很酷的框架,比如Django,Pyramid,Grok……

如果你真的想像mod_php一样使用mod_wsgi,请参考Graham Dumpleton的好答案。

票数 3
EN

Stack Overflow用户

发布于 2012-03-13 01:52:49

从技术上讲,您所做的应该是可行的,但请参阅以下内容中的配置mod_wsgi的AddHandler方法:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive

这样你就不必摆弄Files指令了。

SetHandler做了类似的事情,但上下文中的所有文件都被视为WSGI脚本文件,即使它们可能是静态的HTML或PHP文件。您可以使用它,因为可以使用文件,但是使用AddHandler会更好。

请注意,代码重载将不会像使用PHP时那样工作。请参见:

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

票数 2
EN

Stack Overflow用户

发布于 2019-08-17 05:36:21

我使用mod_cgi像PHP一样运行Python脚本。

这是一个阿帕奇的tutorial。要使用的cgi接口是Python.org的here

我使用的第二个好的tutorial是在你启动并运行的时候。

我要补充的是,有一种更简单的方法来配置Apache。

ApacheStep1cgi:在上面的指南中没有提到的第一步是在中启用处理。

sudo a2enmod cgi

如果您的服务器配置了多线程MPM,这将自动启用mod_cgid,我就是这样做的。

在LinuxMint19.2中,编辑/etc/apache2/sites-enabled中的Step2:编辑您的httpd.conf或其名称。

为index.py启用脚本

代码语言:javascript
运行
复制
<VirtualHost *:80>
   DocumentRoot /your/www/html
   DirectoryIndex  index.py
</VirtualHost>

python Step 3:启用其他python脚本,以便它们也可以在相同的文件夹或子目录中运行。

代码语言:javascript
运行
复制
<Directory "/your/www/html/*">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    AddHandler cgi-script .py
    AddHandler default-handler .jpg .png .gif .css .js .ico
</Directory>

ScriptAlias /   /your/www/html/

为了成功运行python脚本,我遇到了两个必须遵守的警告。

  1. 在linux中运行时,请确保每个python file.py的行尾都是unix行尾。否则,python脚本将不会运行。例如,Notepad++在其菜单、工具栏中有编辑、停产转换、Linux (LF)。

  1. 确保每个python file.py的权限都有execute权限。

在Linux Mint 19.2中,我右键单击文件,转到属性,转到权限,然后选中执行:允许将程序作为文件执行的复选框。或者直接运行命令:

chmod a+x python_script.py

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9664634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档