Python代码在浏览器中无法运行
我刚接触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结尾的文件。这里有一个不错的教程: