Python代码在浏览器中无法运行

2 投票
2 回答
1640 浏览
提问于 2025-04-18 07:21

我刚接触Python,费了些劲在我的Linux共享主机上安装了Python。当我在Shell终端执行Python代码时,一切都很顺利,但我在浏览器中直接执行这段代码时却只显示了代码文本,没有运行。

在Shell中: python public_html/index.py (可以正常工作)

但是如果我在浏览器中打开同一个文件,它却不执行代码。

index.py

#!/usr/bin/env python


print("Content-Type: text/html\n")

print("Hello World")

我在网上到处搜索,但找不到解决办法,我也安装了Django,但问题还是一样。请帮帮我 :(

我没有对.htaccess文件做任何修改,如果需要的话请告诉我。

.bashrc中添加了一行新内容

alias python='~/bin/python'

另外,我也不太确定我的shebang代码应该是什么样的。我看到#!/usr/bin/env python是常用的SHEBANG代码,所以在我的脚本中用了这个。

2 个回答

1

试着用CGI服务器来托管你的HTML,这个服务器是和Python一起安装的。

第一步:把下面的代码保存到一个单独的文件里,命名为 START_CGISERVER.py,并保存在你的工作文件夹中。

import SimpleHTTPServer
import SocketServer
import CGIHTTPServer

from CGIHTTPServer import CGIHTTPRequestHandler
from BaseHTTPServer import HTTPServer


server_address=('',8000)

httpd = HTTPServer(server_address, CGIHTTPRequestHandler)

httpd.serve_forever()

第二步:把你的HTML文件命名为 index.html(同样放在你的工作文件夹里)。

第三步:运行 START_CGISERVER.py,让那个窗口保持打开。这意味着你的工作文件夹正在作为服务器运行。

第四步:打开你的浏览器,输入 http://127.0.0.1:8000/

第五步:确保你的HTML文件所引用的文件的第一行是 #!/usr/bin/env python2,这个文件可以是 .py.cgi 文件(这行代码会告诉CGI解释器去运行你的代码)。

2

你需要设置Apache服务器来处理以*.py结尾的文件。这里有一个不错的教程:

https://docs.python.org/2/howto/webservers.html

撰写回答