我不知道这里会有什么问题:
我有一些来自Biopython的模块,在使用交互式提示符或通过命令行执行python脚本时,可以很容易地导入这些模块。
问题是,当我尝试在web可执行的cgi脚本中导入相同的biopython模块时,我会得到一个“导入错误”。
:没有名为Bio的模块
这里有什么想法吗?
发布于 2010-09-24 03:39:03
以下是几种可能性:
sys.version和sys.prefix的小脚本,并通过apache和命令行对结果进行比较,以确保您在安装在主目录下的两个sys.version Biopython中运行相同的python安装,还是只对您的普通用户可读?同样,由于apache通常以不同用户的身份运行,所以您可能无法访问该位置,因此无法导入它。import site吗?也许是因为在运行apache.时阻止了站点包的导入。
发布于 2010-09-24 02:47:22
在cgi脚本中,您可以尝试在导入之前添加到此包的路径。
sys.path.insert(0, 'path to biopython package')如果您正在使用Apache,您应该能够使用指令SetEnv在conf文件中设置PYTHONPATH。
SetEnv PYTHONPATH "path to biopython package"发布于 2019-02-22 21:29:44
我也有同样的问题。通过在终端中命令更改Linux Ubuntu中Apache的用户,我解决了这个问题:
sudo gedit /etc/apache2/envvars请将www-data on export APACHE_RUN_USER 和 export APACHE_RUN_GROUP 更改为可以运行python脚本的当前用户或用户。祝您玩得愉快;)
https://stackoverflow.com/questions/3783887
复制相似问题