在Wampserver中运行BioPerl脚本

时间:2012-09-20 00:21:00

标签: perl wampserver

我在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中运行它?

感谢您的提前帮助

1 个答案:

答案 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}}。它可能会解决问题。