【问题标题】:perl library pathperl 库路径
【发布时间】:2012-09-01 11:32:57
【问题描述】:

我需要检索 perl 库 Statistics 和 Distributions 所在的路径。该路径是运行脚本所必需的。我在计算机集群上。谁能帮帮我?

谢谢

【问题讨论】:

  • 我们随时为您提供帮助。请向我们提供您的用户名和密码以及集群上机器的名称或 IP 地址。我们中的一个人会很乐意四处逛逛,看看在哪里可以找到图书馆。 [编辑:笑脸]
  • 是的,当然……明天就被解雇了!
  • 您的问题(据了解)太模糊了。我将其理解为:您的脚本尝试加载一些模块,但失败了。请编辑问题以添加错误行“无法在 @INC 中找到 Statistics/Distributions.pm”(取自您在下面的评论)。

标签: linux perl unix


【解决方案1】:

此答案假定该模块实际上已安装,但未安装在 perl 正在寻找的位置。

通常,Perl 模块Statistics::Distributions 将包含在一个名为Statistics/Distributions.pm 的文件中。在 Linux 和类似系统上,可以使用locate 命令快速搜索这些文件:

locate Statistics/Distributions.pm

如果安装了,locate会吐出类似的一行

/opt/my_perl/lib/Statistics/Distributions.pm

然后您可以指示perl 解释器也以各种方式查看此路径。一种是定义环境变量PERL5LIB,即来自bash

prompt> PERL5LIB=/opt/my_perl/lib/ ./myscript.pl

或者您可以使用perl -I 开关:

prompt> perl -I/opt/my_perl/lib/ ./myscript.pl

或者可以修改脚本为use lib;有不止一种方法可以做到这一点;-)

【讨论】:

    【解决方案2】:

    如果您的意思是您需要在程序中使用的模块的路径,则存储在%INC

    $ perl -MLWP::Simple -le 'print $INC{"LWP/Simple.pm"}'
    /usr/share/perl5/LWP/Simple.pm
    

    【讨论】:

    • 由于脚本不是我写的,所以我报告评论报告:Dependency: library Statistics::Distributions(请修改脚本的第一行以设置库位置的路径跨度>
    • @Eleonora Lusito,对于您的问题,添加 exact 错误消息并演示触发其外观的原因。
    • ok,尝试运行脚本,出现的错误是:can't locate Statistics/Distributions.pm in @INC
    • 对不起,我不明白你的问题。
    • 听起来你只需要运行cpan Statistics::Distributions 来安装模块。另见stackoverflow.com/questions/65865
    【解决方案3】:

    perldoc -m Your::Module - 显示模块来源

    perldoc -l Your::Module - 如果安装并在 PERL5LIB、-I、@INC 等中找到,则显示库路径。

    【讨论】:

      【解决方案4】:

      Can't locate XXX in @INC”通常表示模块没有安装。你安装Statistics::Distributions了吗?

      cpan Statistics::Distributions
      

      【讨论】:

      • 不幸的是我不知道它是否安装,因为我不是集群管理员。
      • 让我换一种说法:它没有安装,至少没有被告知 Perl 没有安装它。所以安装它吧。
      【解决方案5】:

      我遇到了同样的问题,可以通过两种方式解决:

      1) 通过运行命令

      perl -I/blabla/folder_your_module_is_installed/blib/lib/ ./script.pl
      

      对于像我这样的傻瓜,重要的是要注意路径的结尾是lib/,而不是lib/Other_folder/。因为后面多了个文件夹。

      2) 你可以在脚本里面写:

      use lib 'blabla/folder_your_module_is_installed/blib/lib/';
      

      保存并运行 perl scripit.pl

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-30
        • 1970-01-01
        • 2012-05-08
        • 2019-03-07
        • 2014-01-16
        • 2021-08-22
        • 2015-07-06
        • 1970-01-01
        相关资源
        最近更新 更多