我的Dreamhost共享服务器上有一个Python脚本。当我通过SSH(使用UNIXShell)访问我的脚本时,我的脚本执行良好,并且能够导入Pycrypto模块Crypto.Cipher
。
但是如果我使用我的网站url通过HTTP访问我的脚本。脚本在导入Pycrypto模块Crypto.Cipher
时失败。它给出了错误ImportError: No module named Crypto.Cipher
。
你知道是什么原因导致了这个奇怪的错误吗?以及我如何修复它。
一些重要信息:
-我在我的共享服务器上安装了一个自定义版本的python。它只是安装了Pycrypto和easy_install的Python 2.7
-我确信该脚本是在Python 2.7下运行的,而不是Dreamhosts默认的2.6版本。我知道这一点是因为脚本在UNIXshell和HTTP中都打印sys.version_info(major=2, minor=7, micro=0, releaselevel='final', serial=0)
-我手动安装了Pycrypto(使用tar并运行setup.py),而不是使用easy_install或pip
-我已经正确地编辑了.bash_profile的PATH变量(我相信我做得正确,因为脚本是在Python 2.7而不是2.6下运行的)
任何建议都会非常有帮助。
您的web服务器不会读取您的.bash_profile
。