问题描述
我有一个非常简单的Python脚本,希望通过我的网站运行。这是我的脚本:
#!/usr/bin/python
print("This line will be printed.")
假设我的脚本名为“ hello.py”,我的网站为“ mywebsite.com”。我的虚拟主机由BlueHost提供,我可以通过FileZilla访问服务器。我将“ hello.py”放置在服务器上的public_html目录中(该目录还包含我的网站html文件)。现在,我尝试通过浏览器运行Python脚本,因此在Web浏览器中,我转到“ mywebsite.com/hello.py”。在网络浏览器中,将打印源代码“ hello.py”。有没有办法执行Python脚本?
解决方法
要成功进行以下修改:
(1)Python脚本略作修改如下:
#!/usr/bin/python
print("Content-Type: text/html")
print
print("This line will be printed.")
(2)将以下内容添加到.htaccess文件的'IfModule mod_rewrite.c'字段中:
<IfModule mod_rewrite.c>
Options +ExecCGI
AddHandler cgi-script .py
</IfModule>
在搜索“ mywebsite.com/hello.py”之后,这是我的浏览器成功输出的结果:
如果未遵循指令(1)或(2),则将其与输出结果进行对比-浏览器仅输出Python源代码。例如,违反指令(2)会产生:
请注意,BlueHost Python或CGI指南不提供此信息。经过一系列的猜测和检查,我的解决方案得以实现,并且可能会有更合适的方法。