gpt4 book ai didi

python - 在 MAMP 上使用 Python

转载 作者:行者123 更新时间:2023-12-04 15:29:11 27 4
gpt4 key购买 nike

我正在慢慢地从 PHP 迁移到 Python。特别是,当我在 webdev/webdesign 工作时,我想使用 Python 显示一个基本的 HTML 页面,使用以下代码:

#!/usr/bin/python

print('<html><head></head><body>This is a test</body></html>')
在我的主机上以 index.cgi 在线发送文件,我没有问题显示文件的内容。
当我尝试在 MAMP 上安装 WSGI 模块时,问题就开始了,或者只是为了让 Python 可以正常使用它。
当它转到 localhost/index.cgi显示文件的内容而不是其结果。
我已经遵循了六个教程,但似乎没有一个有效,我总是在某个时候遇到问题。这似乎是因为 MAMP 附带的 Apache 不是以允许您向其中添加模块的方式构建的(例如 wsgi)。
这也是因为我找不到任何 最近关于如何在 MAMP 上安装 Python 的文章,它们都可以追溯到 2008 年或 2009 年,带有旧版本的 MAMP、Python 和 Macports。
有人可以指出我目前的程序来完成这项工作吗?
编辑:找到后确定 this article我收集到默认情况下,MAMP 不会处理 MAMP/中 cgi-bin/文件夹之外的 CGI 脚本。所以我按照解释修改了 Apache conf 文件,它现在显然读取了 .cgi 文件,但抛出了错误 500,内容如上所示。代码是罪魁祸首还是 MAMP 的?

最佳答案

我刚刚使用 Mamp V5.5 在 OSX Catalina 上完成了这个过程
对我来说,我必须遵循以下步骤:

  • 确保您的文件有第一行:
  • #!/usr/bin/python
    或任何有效 Python 安装或环境的路径。确保你的 python 工作正常。
  • 该文件必须具有扩展名 cgi 例如
  • blah.cgi  (not .py)

    然后它将在任何文件夹中工作。
  • 该文件必须具有执行权限。在终端:
  • chmod 755 blah.cgi
  • 文件必须在开头附近发送内容类型(Python 版本 < 3 没有括号):
  • print('Content-type: text/html \n\n')
  • 我建议的另一个步骤是在页面开头添加:
  • import sys
    sys.stderr = open("err.log",'w')
    这会将所有错误消息路由到同一目录中的文件 err.log,这对于调试非常有用。如果您的页面返回 500 Internal Server Error,您应该会在 err.log 文件中看到一些错误(除非问题出在此语句之前的初始导入中)。
    您可以进行其他配置更改以保留 .py 扩展名,但我不会在这里讨论。

    关于python - 在 MAMP 上使用 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11296347/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com