我正在尝试使用cgi在Ubuntu上运行Ananaconda Python 2.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,但没有为我工作。
如何解决此问题并能够在网络浏览器上运行python脚本?
答案 0 :(得分:0)
问题是由于Windows和Linux中行尾的差异所致。该文件以CRLF结尾,应该更改为LF行结尾。我的文本编辑器Pycharm可以在右下角或在“文件”菜单中对其进行更改,如下所示。因此,将其更改为Unix和OS X行分隔符可以解决此问题。
有关Pycharm的更多信息,请检查此link。
如果使用git,则在提交存储库时会自动修复该问题。
编辑: 我最近发现,需要使python文件可执行。即使我解决了行尾问题,也遇到了问题,通过选中文件权限中的复选框使文件可执行,从而解决了该问题。