在Apache中使用Anaconda Python时,标头之前的脚本输出结束

时间:2018-06-28 16:52:01

标签: python apache anaconda cgi

我正在尝试使用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脚本?

1 个答案:

答案 0 :(得分:0)

问题是由于Windows和Linux中行尾的差异所致。该文件以CRLF结尾,应该更改为LF行结尾。我的文本编辑器Pycharm可以在右下角或在“文件”菜单中对其进行更改,如下所示。因此,将其更改为Unix和OS X行分隔符可以解决此问题。

enter image description here

有关Pycharm的更多信息,请检查此link

如果使用git,则在提交存储库时会自动修复该问题。

编辑: 我最近发现,需要使python文件可执行。即使我解决了行尾问题,也遇到了问题,通过选中文件权限中的复选框使文件可执行,从而解决了该问题。

enter image description here