如何指定Perl的Inline :: Python模块使用的Python版本?

时间:2013-08-22 13:16:27

标签: python perl inline

我正在运行Debian squeeze和perl v5.10.1并且我安装了两个版本的python:

$ pyversions -i
python2.5 python2.6

Python::Inline使用python2.5 obvoiusly:

$ perl
use Inline::Python;
Inline::Python::py_eval('import sys');
Inline::Python::py_eval('print sys.version');

2.5.5 (r255:77872, Nov 28 2010, 17:10:16)
[GCC 4.4.5]

我需要python2.6来运行我的python代码。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:5)

在安装模块期间链接所需的版本。见Makefile.PL

#============================================================================
# What python are we going to try?
#============================================================================
my @pythons;
my $sep = $^O eq 'MSWin32' ? ";" : ":";
for $p (split /$sep/, $ENV{PATH}) {
    $p =~ s/^~/$ENV{HOME}/;
    $p .= "/python";
    push @pythons, { path => $p } if -f $p && -x $p;
}

# Keep them in PATH order.
#@pythons = sort { $a->{path} cmp $b->{path} } @pythons;

my $num = 1;
print "Found these python executables on your PATH:\n";
print $num++ . ". " . $_->{path} . "\n" for @pythons;

my $sel = prompt("Use which?", '1');
$sel = $pythons[$sel-1] if $sel =~ /^\d+$/;
$sel = { path => $sel } unless ref $sel eq 'HASH';

print "Using $sel->{path}\n";