我几天来一直在努力解决这个问题,似乎无法在任何地方找到答案。
我需要从Python2.7运行numpy包,因此在我的Bluehost帐户上安装了Python 2.7(根据Bluehost说明)。然后,我使用python2.7 easy_install在正确的site-packages文件夹中安装numpy。从命令行调用'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安装?
干杯, 休
答案 0 :(得分:3)
好吧,我明白了。问题在于我的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"代替。