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 吗?
干杯,休
好吧,我想通了。问题出在我的 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”代替。