我在Windows上使用wampserver创建一个页面并在本地工作。我想访问数据库Ensemble以获取一些有用的信息,例如基因序列,我遇到了以下问题:
我已经安装了ActivePerl和API,并且我的bioperl脚本在命令提示符下运行完美。
就像wampserver一样,我修改了Apache中的httpd.conf来运行perl脚本。一个简单的perl脚本(例如hello world)我可以通过wamp执行。 (我在www上存储了id并转到localhost / hello.pl)
当我想在wampserver中运行脚本以获取序列时(当然更复杂)我收到此错误:
install_driver(mysql)失败:找不到@INC中的DBD / mysql.pm(@INC包含:C:/ wamp / bin / Perl / lib C:/ wamp / bin / Perl / site / lib.C :/ src / ensembl / modules)在(eval 8)第3行。 也许DBD :: mysql perl模块还没有完全安装, 或者'mysql'的大写是不对的。 可用的驱动程序:DBM,ExampleP,文件,Gofer,代理,海绵。 在C:/src/ensembl/modules/Bio/EnsEMBL/Registry.pm第1594行
在命令提示符窗口中,脚本运行。我如何管理它在wampserver中运行它?
感谢您的提前帮助
答案 0 :(得分:0)
@INC
数组包含Perl查找模块的所有路径。目前,您的WAMP Perl会查看这些地方:
C:/wamp/bin/Perl/lib
C:/wamp/bin/Perl/site/lib
.
C:/src/ensembl/modules
这些目录中没有一个包含子目录DBD
,而子目录mysql.pm
又包含@INC
。 (请与文件管理员核实)
您似乎已将此模块与ActivePerl一起安装。尝试打印出perl的@INC
。如果ActivePerl @INC
包含未包含在WAMP perl use lib 'C:/foo/bar/lib';
中的路径(参见上文),那么您应该修复它以使用您的ActivePerl模块。 E.g。
use DBD::mysql
之前你{{1}}。它可能会解决问题。