python - perl 相当于 pip freeze
问题描述
我想获取给定目录树下已安装的 perl 模块和版本的列表。
我想完成与pip freeze --user
python 模块相同的任务。
我们通常将软件安装在给定的目录中,例如foo-1.0.0
将安装到/soft/foo/1.0.0
所需的 perl 模块将安装到/soft/foo/1.0.0/lib/perl5
.
为了能够在相同条件下复制构建和安装,我们需要能够获取已安装的 perl 模块列表及其版本。
解决方案
使用以下 Perl 程序
#!perl
use ExtUtils::Installed;
my $inst = ExtUtils::Installed->new(@ARGV ? (inc_override => \@ARGV) : ());
my @modules = $inst->modules;
foreach (sort @modules) {
print "$_ => ", $inst->version($_), "\n";
}
它需要一个目录列表来搜索。如果没有给出参数,则使用 @INC 的内容
您还可以使用 CPAN 模块的自动捆绑功能,该功能perl -MCPAN -e autobundle
将生成所有已安装模块的捆绑文件
推荐阅读
- python - TfLite LSTM 模型
- javascript - Wordpress 无法上传图片
- css - 将 Pandas Styler 应用于 MultiIndex 列表
- java - 调用quickbooks api时API响应状态码400
- java - 将矩形添加到 JPanel
- r - R中的重复测量方差分析:必须使用有效的下标向量子集列
- android - 设置文本时,Android TextView 不会“wrap_content”
- arrays - C不打印二维动态数组内容
- python - 如何根据另一列中是否满足一组条件,向 Python 中的数据框添加新列?
- python - 使用 PCA 找到网格的 3d 点云的主轴