How can I specify the version of Python that Perl Inline :: Python uses?

I am running Debian and perl v5.10.1 compression and I have two python versions installed:

$ pyversions -i python2.5 python2.6 

Python::Inline uses 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] 

I need python2.6 to run my Python code. How can i do this?

+4
source share
1 answer

You communicate with the desired version during the installation of the module. See 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"; 
+5
source

Source: https://habr.com/ru/post/1498386/


All Articles