.py 文件在浏览器中显示代码而不是运行

2024-02-14

我正在尝试开始使用 Python,但无法为 localhost 正确设置我的服务器(使用 Ampps)。 Python 通过 IDLE 和命令行运行得很好,但是,当我在浏览器中打开文件时,代码会显示但不会运行。

我跟着这个http://www.imladris.com/Scripts/PythonForWindows.html http://www.imladris.com/Scripts/PythonForWindows.html设置 cgi 的教程,但它不起作用。

这是我的“hello world”程序的代码,如果这有什么区别的话。

#!/usr/bin/env python
# -*#!/usr/bin/python

print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2>'
print '</body>'
print '</html>'

有什么建议么?


您的 Web 服务器将您的 Python 代码视为静态文件而不是可执行文件。这里的目标是您希望 Apache 执行 python 并将标准输出发送回用户的浏览器。

我不熟悉 Ampps,但获得此设置的基本 Apache 流程是这样的。

  1. 编辑 httpd.conf 的选项行以包含 ExecCGI
  2. 通过添加以下行,将您的 python 文件注册为 httpd.conf 作为 cgi 处理程序:
    AddHandler .py
  3. 重新启动阿帕奇
  4. 确保您的 shebang 行(顶部的 #!/usr/bin/env python 位)实际上指向您的 python 可执行文件的路径。对于 C: 上的 python2.6,这可能是:
    #!\Python26\python
  5. 如果您的脚本必须是可移植的,请添加以下行,而不是修改 shebang 行ScriptInterpreterSource registry添加到您的 httpd.conf,并确保 Windows 默认使用 Python.exe 打开 *.py 文件。这可以通过双击脚本来测试。如果它没有执行,请右键单击它,选择“打开方式”,然后选择“其他”,然后浏览到您的 python.exe。确保选中“始终使用此程序打开此类型的文件”框。有一篇关于此的 Microsoft 知识库文章here http://support.microsoft.com/kb/307859.

最后,mod_wsgi 或 FastCGI 是让 Apache 执行 python 的首选方法,优先选择流量较低的站点(每天有数十万个请求)。我还建议研究 Web 框架,例如 web.py(非常轻量级)或 django(较重,但如果您收集用户输入或与数据库交互,可以节省大量时间)。

  • mod_wsgi 设置说明。 http://code.google.com/p/modwsgi/wiki/InstallationOnWindows
  • FastCGI 文档 http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html(在 Windows 上设置它可能很痛苦)
  • 姜戈入门 https://docs.djangoproject.com/en/dev/intro/
  • web.py 教程 http://webpy.org/docs/0.3/tutorial
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.py 文件在浏览器中显示代码而不是运行 的相关文章

随机推荐

  • haskell:输出非ascii字符

    我想在 WinGHCi 中输出非 ASCII 字符 但这就是我得到的 Prelude gt 948 Prelude gt putStr 948 Exception
  • Spring boot 中的 CORS 策略冲突

    我是 Spring Boot 的新手 我使用 Spring Boot 实现了一些基本的 REST api 当我尝试使用 React 调用这些 api 时 我在调用某些 CORS 策略时遇到错误 然后我找到了该问题的解决方案 除了登录 api
  • 针对数据库的 EF 模型验证

    我想使用 EF 5 模型验证来避免数据库中出现重复值 因此我使用如下模型类 Table MeasureUnits public class MeasureUnit IValidatableObject public int MeasureU
  • 将自定义代码样式 xml 传递给 gradle idea 插件

    有没有办法告诉gradle idea插件在生成项目文件时使用自定义代码样式xml 我总是可以将 xml 复制到 Library Preferences IntelliJIdea13 codestyles 中 然后在导入项目后更改代码样式 但
  • gradle和manifest上的Android sdk版本

    我几周前开始使用 Android Studio 有一个问题 在 build gradle 文件中 我们可以像在清单中一样设置 minSdkVersion 但是一个会覆盖另一个吗 如果我们在 gradle 和 Manifest 上设置不同的值
  • Django:自动生成目录中的文件列表

    我在我的网站上使用图片库应用程序 目前 我将图像文件放在一个目录中 并手动为每个图像编写 img html 标签 是否可以让 django 自动在目录中创建文件列表 并将 json 输出发送到图库应用程序 以便我可以使 javascript
  • 如何在 Angular 拦截器内的请求正文中添加一些内容?

    在这里 我可以修改标题 因为有多个关于此功能的教程 但是 Injectable export class MyFirstInterceptor implements HttpInterceptor constructor private c
  • 离线时准确检测时间

    背景资料 我正在开发一个连接到服务器的 iOS 应用程序 可以从设备向服务器发出请求 以将本地数据库与服务器的数据库同步 更改可能发生在任一数据库上 该应用程序还具有离线功能 用户可以在不连接到互联网连接的情况下修改数据 只有在线才能通过发
  • 在怪癖模式下无法正常工作的所有内容的列表? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人有 Quirks 模式 特别是 IE Quirks 模式 中存在 bug 的 HTML JavaS
  • 用户提供的 MSSQL 数据库的 Pivotal/Django 设置

    我在 Pivotal Cloud Foundry 上部署了一个 django 应用程序 在开发过程中 我只是坚持使用内置的 sqlite 数据库 同时将 UI 组合在一起 不需要保留数据 因此推送 删除不是问题 此后 我在本地服务器 Azu
  • 使用相似性 Postgres 模糊自连接查询提高性能

    我正在尝试运行一个查询 该查询将表与自身连接起来 并进行模糊字符串比较 使用三元组比较 以查找可能的公司名称匹配 我的目标是返回一个记录的公司名称 ref name 字段 的三元相似度与另一记录的公司名称匹配的记录 目前 我将阈值设置为 0
  • PHP 按索引对二维数组进行排序(非关联)

    该代码无法正常运行 但它表明了我正在尝试做的事情 function sort 2d by index a i function cmp x y Nested function can t find i global i defeats th
  • putStrLn 不打印到控制台

    我正在尝试 wxHaskell 我无法在 ghci 下运行该应用程序 因此我必须使用应用程序来测试它 我想用 println 调试来测试程序 然而 putStrLn 似乎在 GUI 中不起作用 LANGUAGE Haskell2010 mo
  • 是否可以在角度 2+ 中进行条件内容投影(嵌入)

    我想提供仅在内容未被嵌入时才会出现的默认内容 例如 这是我的组件模板
  • 如何从 Z3 中的 Seq 类型中提取元素作为基本类型?

    如何将序列中的元素提取到基本类型 以便以下内容正常工作 define sort ISeq Seq Int define const x ISeq seq unit 5 define const y ISeq seq unit 6 asser
  • 标准输出重定向

    我正在使用 tcl 中的一个程序 我无法控制该程序 它在输出窗口上输出很多详细信息 例如 Response
  • 持久性实体的 GWT 反序列化 (JPA)

    我目前正在开发托管在 weblogic 应用程序服务器上的 Java GWT 应用程序 我使用 EJB3 0 和 EclipseLink 作为持久层 遗憾的是 我的 GWT 在反序列化持久实体时遇到问题 知道我可能会对你有所帮助 在我的类路
  • AutoMapper:如果源 == null,则创建目标类型的实例

    如果源对象为 null 是否可以将 AutoMapper 配置为返回目标类型的新实例 Source source null Dest d1 AutoMapper Mapper Map
  • Azure ServiceBus QueueClient.OnMessage 是否在不同的线程上执行

    QueueClient OnMessage 方法是否始终在不同线程上执行回调参数 我假设如果 MaxConcurrentCalls 设置为 10 那么queueClient 将最多启动 10 个线程来并行处理消息 如果传入 MaxConcu
  • .py 文件在浏览器中显示代码而不是运行

    我正在尝试开始使用 Python 但无法为 localhost 正确设置我的服务器 使用 Ampps Python 通过 IDLE 和命令行运行得很好 但是 当我在浏览器中打开文件时 代码会显示但不会运行 我跟着这个http www iml