我已经为这个问题苦苦挣扎了几天,似乎无法在任何地方找到答案.
我需要从Python2.7运行numpy软件包,并因此在Bluehost帐户上安装了Python 2.7(按照Bluehost的说明).然后,我使用python2.7 easy_install将numpy安装在正确的site-packages文件夹中.从命令行调用“ python”表明已调用Python2.7,并且可以导入numpy而不会出现问题.
但是,当我从自己的网站调用python脚本(即使用CGI表单)时,我看到它改为调用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
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”代替.