Bluehost:Python/CGI shebang需要指向我安装的Python吗?

use*_*148 4 python cgi bluehost

我已经为这个问题苦苦挣扎了几天,似乎在任何地方都找不到答案。

我需要从 Python2.7 运行 numpy 包,因此在我的 Bluehost 帐户上安装了 Python 2.7(按照 Bluehost 说明)。然后,我使用 python2.7 easy_install 将 numpy 安装在正确的 site-packages 文件夹中。从命令行调用 'python' 显示调用了 Python2.7,并且可以毫无问题地导入 numpy。

但是,当我从我的站点(即使用 CGI 表单)调用 python 脚本时,我看到它调用 python2.6,并且不能再导入 numpy。

我怀疑我的 .bashrc 有问题,如下所示:# .bashrc

# User specific aliases and functions
alias mv='mv -i'
alias rm='rm -i'
alias cp='cp -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# Python stuff
export PATH=$HOME/python/Python-2.7.2/:$PATH
export PYTHONPATH=$HOME/python/lib/python2.7/site-packages:$PYTHONPATH
Run Code Online (Sandbox Code Playgroud)

Web 服务器 CGI shebang 需要指向我自己安装的 Python 吗?

干杯,休

use*_*148 5

好吧,我想通了。问题出在我的 python 上,而不是服务器的 CGI 配置。基本上,程序的第一行(例如“#!/usr/local/bin/python”)指向用于该特定脚本的可执行文件的位置(我认为这只是一个注释!)。由于在 Bluehost 上运行 Py2.7.2 需要安装 2 个版本(2.6 和 2.7),后一个版本需要在第一行,否则脚本使用“默认”2.6。

简而言之,解决方案是使用“#!/home4/username/python/Python-2.7.2/python”代替。