【发布时间】:2015-09-21 10:26:05
【问题描述】:
我正在尝试在浏览器中运行脚本。我安装了 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 行尾)。
- 在 php 上编写用于运行 python 3 的包装器
【问题讨论】:
-
你能显示整个代码的开头几行吗?你是在 linux 上运行的吗?
-
@AnandSKumar 我在我的问题中添加了整个脚本,我使用 CentOS
-
@jonrsharpe 如果我运行脚本
./myscriptname.py引发错误没有这样的文件或目录 -
@jonrsharpe 我从浏览器向服务器发送请求。 My script
-
这是 mod_python 安装方式的问题。如果您自己安装了 mod_python,请参阅 modpython.org/live/current/doc-html/… 以获取说明。如果您安装了包管理器,则需要查看他们的文档。我正在投票关闭并将其移至 ServerFault。
标签: python python-3.x mod-python