.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 文件在浏览器中显示代码而不是运行 的相关文章

  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 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