mod_python忽略shebang并使用Python 2而不是3

时间:2015-09-21 10:26:05

标签: python python-3.x mod-python

我试图在浏览器中运行脚本。我在服务器上安装了mod_python来运行基于Web的应用程序,并在我的脚本中设置了一个shebang:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import sys

def index():
    print ("Content-type: text/html\n")
    print('Version Python {0}'.format(sys.version_info[0]))

if __name__ == '__main__':
    index()

但是,当我从浏览器(my application)运行我的脚本时,我发现Python版本是2.当我从控制台运行脚本时,使用:

python3 index.py

Python版本3.3.5按预期使用。为什么mod_python无视shebang?

UPD。问题已结束

  • 我选择退出mod_python。
  • 我在shebang中犯了一个错误(我应该为Unix设置\ n行结尾)。
  • 用于运行python 3的错误包装器

2 个答案:

答案 0 :(得分:1)

在文件上设置可执行标志:

./yourfile.py

然后,执行:

{{1}}

答案 1 :(得分:0)

使用shebang时,请按照以下步骤运行代码。

这使您的文件可执行

chmod +x index.py

这有助于您的代码执行

./index.py