我试图使用cgi在Ubuntu上运行Ananaconda Python2.7脚本,但在var/log/apache2/error.log
中我得到了错误500和以下错误信息。
No such file or directory: AH01241: exec of '/var/www/html/app/getcapabilities.py' failed
End of script output before headers: getcapabilities.py
下面是我的apache apache2.conf的样子。
<Directory /var/www/html/*>
Options +ExecCGI
AddHandler cgi-script .py
</Directory>
命令which python
给了我路径:/home/myuser/anaconda2/bin/python
下面是我的Python文件的样子。Python脚本在Windows XAMPP Apache中运行良好。
#!/home/myuser/anaconda2/bin/python
print ("Content-Type: text/xml\n\n")
print ('\n')
print ('\n')
print ('hello')
我也关注过this step,但对我不起作用。
我如何解决这个问题,并能够在web浏览器上运行python脚本?
发布于 2018-07-03 06:23:54
该问题是由于Windows和Linux中的行尾不同造成的。文件以CRLF结尾,应更改为LF行结尾。我的文本编辑器Pycharm有一种方法可以在右下角或文件菜单中更改它,如下所示。所以改用Unix和OS的行分隔符解决了这个问题。
有关Pycharm的更多信息,请查看此link。
如果您使用git,则在提交存储库时会自动修复此问题。
编辑:我最近发现有必要让python文件成为可执行文件。即使我修复了行尾,我也有一个问题,通过选中文件权限中的复选框使文件可执行解决了这个问题。
https://stackoverflow.com/questions/51088005
复制相似问题